[PHP] Loguit

Status
Niet open voor verdere reacties.

pro pizza

Gebruiker
Lid geworden
24 dec 2007
Berichten
454
PHP:
<?php session_start(); ?>
<?php
If (!isset($_SESSION['naam'])) {
Print "niet ingelogd";
header('refresh:3 url=login.php');
}
else{
print "ingelogd";
 
?>
<html>
<head>
<title>U bent ingelogd </title>
</head>
<body>
<?php
Print "Hallo,".$_SESSION['naam'];
?>
<?php
}
?>
<BR>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<input type="submit" value="Loguit" naam="jawel" />
</form>
<?php
If (isset($_POST['jawel'])) {
session_destroy();
?>
<meta http-equiv="refresh" content="2; url=uitgelogd.php">
<?php
}
?>
</body>
</html>
Ik weet niet of dit een goede manier is om uit te loggen, ik heb zelf wat bedacht, maar mijn probleem is dat er niets gebeurd nadat er op de Loguit knop is gedrukt, wat doet ik fout?

Mvg, Ruben

****** Vraag heb ik zelf al opgelost **************:thumb:
 
Laatst bewerkt:
teneerste zou ik het anders structureren.

login.php // je login form

loguit.php // de pagina met info dat je bent uitgelogd

secure.php // de beveiligde pagina

op login.php
heb je een form die naar login.php post en daar handel je controle op wachtwoord af.
Klopt dit dan schiet je door naar de secure.php.

op secure.php
maak daar een nieuwe sessie aan en controleer of je nogsteeds bent ingelogd
voeg hier een knop toe die naar de pagina loguit.php gaat. je hoef hiervoor niets te posten. gewoon een <a href="loguit.php">uitloggen</a>

op loguit.php
hier doe je
het unsetten van alle je gesette sessie variabelen... (dat was je nog vergeten)
en daarna session_destroy

zou hou je alles ook netjes en gestructureerd. Nu is een klein beetje een warboeletje en niet echt duidelijk hoe de flow is in je pagina. Dit maakt het voor jou ook een beetje moeilijk te doorgronden wat er nu fout gaat
 
session_destroy() is niet echt handig. Vaak sla je veel meer dan inlogtoestanden op in sessies, dan ben je ook die gegevens kwijt. Dat is niet altijd wenselijk.
 
dan ben ik benieuwd wat jij opslaat in je sessie... ik namelijk zo min mogelijk
 
Eh, taalvoorkeur bijvoorbeeld?

Het enige dat ik verander bij een uitlog-actie, is de boolean 'loggedin'. Verder laat ik het zoals het was. Bij authenticatie check ik (onder meer) op 'loggedin', niet of de sessie bestaat, dat is namelijk niet relevant. Daarmee is session_destroy ook niet relevant.
 
Taal gegevens zet ik meestal in een cookie. Je hebt dan ook het voordeel dat als hij de volgende keer terug komt dat hij weer opdiezelfde taal springt
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan