03. marts 2006 - 11:55
Der er
8 kommentarer og 1 løsning
automatisk logud i php
Jeg har nu lavet et login system med sessions. Men jeg kunne godt tænke mig at man automatisk bliver logget ud hvis man er inaktiv i et vist tidsrum. Er der nogle der kan hjælpe mig med det???
Annonceindlæg fra Cognizant
03. marts 2006 - 12:02
#1
der er faktisk 2-3 artikler med det på eksperten.
03. marts 2006 - 12:02
#2
03. marts 2006 - 12:12
#3
Ja, men jeg kan ikke rigtig finde nogle artikler, så derfor spurgte jeg
03. marts 2006 - 12:21
#4
Hvis ikke du kan få PHP til selv at gøre det, så sæt en session var med den sidste aktivitet? session_start(); $MINUTES = 10 * 60; if ( !empty( !$_SESSION['lastactivity'] ) ) { if ( ( time() - $_SESSION['lastactivity'] ) > $minutes ) { session_destroy(); } } // Resten af dit loginsystem
03. marts 2006 - 13:06
#5
Den forstod jeg ikke lige helt, har prøvet at sætte det ind, men det lykkedes ikke. Her kommer min logind side <? session_start(); include "database.php"; include "bruger.php"; ?> <html> <body> <? $bruger = new bruger(); if(isset($_POST["brugernavn"]) && isset($_POST["kodeord"])){ if(get_magic_quotes_gpc()){ $brugernavn = stripslashes($_POST["brugernavn"]); $kodeord = stripslashes($_POST["kodeord"]); } else { $brugernavn = $_POST["brugernavn"]; $kodeord = $_POST["kodeord"]; } if($bruger->log_ind($brugernavn, $kodeord) == false) echo "<font color=red>fejl i login</font><br>\n"; } if( $bruger->logget_ind() ){ echo "Du er logget ind som " ; echo $bruger->hent_brugernavn(); echo "<br>\n"; echo "Klik <a href=logud.php>her</a> for at logge ud\n"; } else { echo "<form method = post action = $PHP_SELF>\n"; echo "brugernavn: <input name=brugernavn><br>\n"; echo "kodeord: <input type=password name=kodeord><br>\n"; echo "<input type=submit value=\"log ind\">\n"; echo "</form><br>\n"; echo "<a href=opret.php>opret bruger</a>\n"; } ?> </body> </html>
03. marts 2006 - 13:09
#6
Ikke på loginsiden selvfølgelig... Men det script der checker om brugeren er logget ind - Der manglede også lige en linje. Det burde have været: session_start(); $MINUTES = 10 * 60; if ( !empty( !$_SESSION['lastactivity'] ) ) { if ( ( time() - $_SESSION['lastactivity'] ) > $minutes ) { session_destroy(); } else { $_SESSION['lastactivity'] = time(); } }
03. marts 2006 - 13:16
#7
Ja, og du skal også sætte $_SESSION['lastactivity'] = time(); når folk logger ind ;)
03. marts 2006 - 23:09
#8
Min side bliver bare blank når jeg putter det ind i mit script. Jeg kan lige sende min side: <? include "database.php"; include "bruger.php"; ?> <html> <body> <? session_start(); $bruger = new bruger(); if(isset($_POST["brugernavn"]) && isset($_POST["kodeord"])){ if(get_magic_quotes_gpc()){ $brugernavn = stripslashes($_POST["brugernavn"]); $kodeord = stripslashes($_POST["kodeord"]); } else { $brugernavn = $_POST["brugernavn"]; $kodeord = $_POST["kodeord"]; } if($bruger->log_ind($brugernavn, $kodeord) == false) echo "<font color=red>fejl i login</font><br>\n"; } if( $bruger->logget_ind() ){ echo "Klik <a href=logud.php>her</a> for at logge ud<br>\n"; echo "side1"; echo "<a href=logind.php>logindside</a>"; } else { echo "Du er ikke velkommen her"; } ?> </body> </html>
23. april 2007 - 20:22
#9
Godt så
Vi tilbyder markedets bedste kurser inden for webudvikling