Autor | Zpráva | ||
---|---|---|---|
Schimpy Profil * |
Dobrý den. Mám problém s loginem.
Stránka s přihlašováním (admin.php). Vše chodí. <?php if(isset($_POST['odeslano'])) { $login = osetri(trim($_POST['login'])); $heslo = osetri(trim($_POST['heslo'])); if($login != "" and $heslo != "") { $dotaz = @mysql_query("SELECT COUNT(*) FROM pristup WHERE nick = '$login' AND heslo = md5('$heslo')") or die(mysql_error()); if(mysql_result($dotaz, 0)) { $_SESSION['nick'] = $login; $_SESSION['prihlasen'] = 1; $_SESSION['cas'] = time()+1800; echo "<a href='admin/index.php'>Pokračujte ...</a>"; } else { echo $bad_login; } } else { echo $empty_login; } } else { ?> <form method="post" action="admin.php"> <input type="hidden" name="odeslano" vlaue=""> <div class="pole"><b>Login: </b><input type="text" name="login" size="10"></div> <div class="pole"><b>Heslo: </b><input type="password" name="heslo" size="10"></div> <div class="tlacitko"><input type="submit" name="odeslat" value="OK"> </form> ?> Potom se dostanu na stránku administrace(index.php). Do každé podstránky includuji soubor checklogin.php. session_start(); if ($_SESSION['prihlasen'] != 1) { Header('Location: http://'. $_SERVER['HTTP_HOST'] . '/admin.php'); exit; } elseif ($_SESSION['prihlasen'] = 1 && ($_SESSION['cas'] < time())) { session_destroy; Header('Location: http://'. $_SERVER['HTTP_HOST'] . '/admin.php'); exit; } else { $_SESSION['cas'] = time+1800; } Ale pokud opustím index.php a chci jít např. na clanky.php, kde je includovany soubor checklogin.php, hodí mě to na přihlašovací formulář. |
||
petr 6 Profil |
#2 · Zasláno: 3. 7. 2009, 10:48:45
7. radek druheho kodu:
$_SESSION['prihlasen'] = 1 Toto vrati vzdy true, nebot jde o prirazeni. Pro porovnani s jednickou pouzij nasledujici: $_SESSION['prihlasen'] == 1 |
||
Schimpy Profil * |
#3 · Zasláno: 3. 7. 2009, 13:32:02
nemělo by teda být i 2. řádek takto:
$_SESSION['prihlasen'] !== 1 |
||
Časová prodleva: 15 let
|
0