Autor | Zpráva | ||
---|---|---|---|
kuzmic Profil * |
#1 · Zasláno: 25. 11. 2009, 15:14:41
Dobrý den,
chtěl bych poprosit o radu jak vyřešit problém s automatickým odhlášením. Na stránkách pana Vrány, jsem si našel kod pro automatické odhlášení po určité době nečinnosti. Vše funguje jak má, akorát pokud po vypršení určité doby mě přesměruje zpět na přihlášení, se nejde přihlásit až když zadám přihlašovací údaje a stránky vypíší že to není možné, a já akci opakuji tak se přihlásím. Nevíte kde by mohla být bota?děkuji Stránka na přihlášení: <body> <?php session_start(); $_SESSION['rovnase']='ne'; if(isset($_POST['jmeno'])) $jmeno = $_POST['jmeno']; else $jmeno = NULL; if(isset($_POST['heslo'])) $heslo = $_POST['heslo']; else $heslo = NULL; $sql=mysql_query("SELECT * FROM zamestnanec WHERE jmeno='$jmeno' and prijmeni='$heslo'"); while($row = mysql_fetch_array($sql)) { if((($_POST['jmeno'])==$row['jmeno']) and (($_POST['heslo'])==$row['prijmeni'])) { $_SESSION['rovnase']='ano'; //echo "ano"; header("location: uvod.php"); $_SESSION['jmeno']=$row['jmeno']; $_SESSION['heslo']=$row['prijmeni']; } else { $_SESSION['rovnase']='ne'; } } if((empty($_POST['jmeno']) or (empty($_POST['heslo'])))) { echo "<div id='error'>Zadejte jméno a heslo</div>"; } elseif($_SESSION['rovnase']=='ne') { echo "<div id='error'>někde je chyba</div>"; } ?> <div id="login"><img src="img/login.jpg"></div> <div id="login_tabulka"> <form action="" method="post"> <table> <tr> <td>Jméno:</td><td><input type="text" name="jmeno" ></td> </tr> <tr> <td>Heslo:</td><td><input type="password" name="heslo" ></td> </tr> </table> <input type="submit" value="Přihlásit"> <p>Jméno: admin</br>Heslo: test</p> </form> </div> </body> Stránka kde je umístěno automatické odhlášení: <?php session_start(); if($_SESSION['rovnase']=='ano') { echo "<div id='login_jmeno'><b>Informace o příhlášení</b>"; echo "<table border=0><tr><td>Vaše uživatelské jméno je:</td>"."<td>".$_SESSION['jmeno']."</td></tr>"; echo "</tr><td>Vaše uživatelské heslo je:</td>"."<td>".$_SESSION['heslo']."</td></tr></table></div>"; } elseif($_SESSION['rovnase']=='ne') { header("location: index1.php"); } if ($_SESSION["access_time"] < strtotime("-10 second")) { $_SESSION["rovnase"] = 'ne'; header("location: index1.php"); echo "<script>alert('byly jste odhlášení')</script>"; } $_SESSION["access_time"] = time(); include "menu2.php"; ?> |
||
fakeit Profil * |
#2 · Zasláno: 25. 11. 2009, 16:09:51
Nikde nevidím session_destroy().
|
||
kuzmic Profil * |
#3 · Zasláno: 25. 11. 2009, 16:13:08
Ale nastavuji ji na $_session['rovnase']='ne', to by vadit nemělo ne?nebo je lepší používat destroy?
|
||
kuzmic Profil * |
#4 · Zasláno: 25. 11. 2009, 16:14:13
Problém, jsem možná vyřešil, nevím teda jak, ale když nastavím čas na 50s a ne na 10s tak to normálně funguje:-/, zvláštní
|
||
kuzmic Profil * |
#5 · Zasláno: 25. 11. 2009, 16:16:25
když nastavím strtotime("-10 second") na 50s tak to normálně jde se přihlásit, zvláštní, ono to 10s možná udává čas, ve kterým to musím stihnout se zaregistrovat, nebo teda nevím:-/
|
||
fakeit Profil * |
#6 · Zasláno: 25. 11. 2009, 16:26:06
kuzmic:
„Ale nastavuji ji na $_session['rovnase']='ne', to by vadit nemělo ne?nebo je lepší používat destroy?“ Fungovat to bude tak nebo tak, ale i když uživatel nebude přihlášený, server si bude držet zbytečně data. |
||
Časová prodleva: 14 let
|
0