Baza
CREATE TABLE IF NOT EXISTS `userdata` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`login` varchar(15) NOT NULL,
`haslo` varchar(32) NOT NULL,
`email` varchar(40) NOT NULL,
`data` varchar(19) NOT NULL,
`adresip` varchar(25) NOT NULL,
KEY `id` (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=12 ;
panel logowania
<?php
require_once("functions.php");
require_once("connect.php");
if(logon()) {
movetosite('panel.php');
}
?>
<form action="panel.php" method="POST">
<fieldset>
<div>
<label for="login">Login:</label>
<input id="login" type="text" class="text" name="user" maxlength="15" />
</div>
<br /><br />
<div>
<label for="haslo">Hasło:</label>
<input id="haslo" type="password" class="text" name="pass" maxlength="15" />
</div>
<br /><br />
<div>
<input id="fSubmit" class="submit" type="submit" name="sprawdz" value='Zaloguj się' />
</div>
</fieldset>
</form>
sesja
<?php
require_once("connect.php");
function logon() {
if(isset($_POST['user']) && isset($_POST['pass'])) { $_POST['user'] = md5($_POST['user']); $_POST['pass'] = md5($_POST['pass']);
$q = mysql_query("SELECT * FROM userdata WHERE haslo = '".$_POST['user']."' AND haslo = '".$_POST['pass']."' LIMIT 1"); echo 'Niepoprawne Login lub Hasło'; exit; return 0;
}
$_SESSION['logon'] = 1;
$_SESSION['login'] = $_POST['user'];
$_SESSION['password'] = $_POST['pass'];
$_SESSION['ip'] = $_SERVER['REMOTE_ADDR'];
return 1;
}
if(!isset($_SESSION['logon']) || !isset($_SESSION['login']) || !isset($_SESSION['password']) || !isset($_SESSION['ip']) || !isset($_SESSION['idu'])) { // echo "3";
return 0;
}
$login = $_SESSION['login'];
$password = $_SESSION['password'];
$idu = $_SESSION['idu'];
$ip = $_SESSION['ip'];
if($_SERVER['REMOTE_ADDR'] != $ip) {
// echo "4";
return 0;
}
if($_GET['idu'] != $_SESSION['idu']) {
return 0;
} else {
return 1;
}
}
function movetosite($strona) {
<script LANGUAGE=\"JavaScript\" TYPE=\"text/javascript\">
window.location.replace(\"$strona\");
</SCRIPT>";
}
function resetsession() {
$_SESSION['login'] = '';
$_SESSION['password'] = '';
$_SESSION['logon'] = '';
unset($_SESSION['login']); unset($_SESSION['password']); unset($_SESSION['logon']); }
?>
problem polega w zalogowaniu sie i otrzymaniu sesji:
<?php
$q = mysql_query("SELECT * FROM userdata WHERE haslo = '".$_POST['user']."' AND haslo = '".$_POST['pass']."' LIMIT 1"); echo 'Niepoprawne Login lub Hasło'; exit; return 0;
}
?>
tak mogte się zalogować wez problemu pod warunkiem że login jest taki sam jak haslo, niestety jak zmienie
<?php
haslo = '".$_POST['user']."'
?>
na
<?php
login = '".$_POST['user']."'
?>
to w ogóle nie moge się zalogować... co jest nie tak [pomijajnac fakt ze troche to chaotyczny kod]
Ten post edytował pijanyadmin 9.01.2008, 20:19:40