loginsysteem

Status
Niet open voor verdere reacties.

computerexpert

Gebruiker
Lid geworden
19 jun 2006
Berichten
129
Ik heb het volgende loginsysteem gevonden:

index.php
PHP:
<?php  

//vul naam en wachtwoord hieronder in. 
$name = "naam"     ;  
$pass = "wachtwoord"   ;  

//De pagina de je te zien krijgt na het inloggen 
$pagina = "main.php";  

//$value niet veranderen! 
$value = 'true' ;  

//checkt of de username en het wachtwoord gelijk zijn aan de variables 
if ($_POST['name'] == "$name" AND $_POST['pass'] == "$pass" )  
{  
//als ze kloppen, maakt hij een cookie aan en je gaat naar de beveiligde pagina 
setcookie("Login", $value, time()+600);  /* de cookie verloopt in 1 uur */  

echo "<SCRIPT LANGUAGE='javascript' TYPE='text/javascript'>window.location='$pagina'</SCRIPT>";  

}  

if ($_POST['name'] !== "$name" AND $_POST['pass'] !== "$pass" )  
{  
setcookie ("Login", "", time() - 600);  
print ("login first or try again")  ;  
}  


?>  
<html> 
<head> 
  <meta http-equiv="content-type" 
content="text/html; charset=ISO-8859-1"> 
  <title>Login Script voorbeeld</title> 

  </head> 
  <body> 
<center><form method="post" action="index.php"> 
   <table> 
    <tr> 
     <td>Name:</td><td><input type="text" name="name"></td> 
    </tr> 
    <tr> 
     <td>Password:</td><td><input type="password" name="pass"></td> 
     </tr> 
     <tr> 
     <tr> 
     <td></td><td><input type="submit" value="Login"></td> 
    </tr> 
   </table> 
   </form> 

</center> 
</body> 
</html>

main.php
PHP:
main.php  (beveiligde pagina) 

<?php  
//Pagina te weergeven als je niet bent ingelogd 
$pagina = "index.php";  
if ($_COOKIE["Login"] == "true"){  

?>  


plaats hier je html codes enzo 



<?php }  
else   {  
echo "<SCRIPT LANGUAGE='javascript' TYPE='text/javascript'>window.location='$pagina'</SCRIPT>";  
}  
?>

Maar zodra je ingelogt ben kan je niet uitloggen, dit zou ik wel willen. Op het begin maakt hij een cookie aan, als je deze eigenlijk dan weer verwijderd zou je feitenlijk uitgelogt zijn maar kan dit ook?
 
setcookie ("Login", "", time() - 10);
 
ja ok, hiermee zeg je dus dat de cookie maar 10 sec blijft staan maar dat zou betekenen dat je elke 10 sec opnieuw moet inloggen dus ik denk dat het dat niet is.
 
Ik denk het wel, want je zet de geldigheid van de op de gebruikers computer aangemaakte cookie tot 10 seconden voor tijd X.

Oftewel:

PHP:
// Uitloggen.php

setcookie ("Login", "", time() - 10);

echo 'Je bent succesvol uitgelogd, klik <a href="inloggen.php" title="Inloggen">hier</a> om nogmaals in te loggen';

Als de gebruiker weer inlogt, wordt de cookie weer aangemaakt.
 
Ik heb het geprobeerd maar ik blijf op de "beveiligde pagina" komen. Ik vind het idee goed alleen werkt het niet. ik heb wel gezien dat:

PHP:
//als ze kloppen, maakt hij een cookie aan en je gaat naar de beveiligde pagina 
setcookie("Login", $value, time()+600);  /* de cookie verloopt in 10 min */

verschild met dit

PHP:
setcookie ("Login", "", time() - 600);  
print ("login first or try again")  ;

Dit staat bijde in index.php misschien ligt het hieraan??
 
Gebruik het volgende :
setcookie('login', '', time());
Zo zal de cookie destroyed/unset zijn!
 
Mja, alleen time() - 600 zou ook moeten werken, want dan zeg je dus eigenlijk dat de cookie een uur geleden had moeten verlopen, wat als resultaat geeft dat de cookie gelijk verwijderd wordt.

Maarja, als het zo werkt is het prima toch :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan