Beste,

Ben zelf bezig aan een member-zone pagina. De inlog werkt en gaat goed.
Nu wil ik een logout functie maken en dat je word terug geleid naar inlog pagina.

De inlog kun je je niet voor registreren, nu werk ik alleen met admin.

De inlog gebeurt binnen een sessie, de member pagina controleert of je bent ingelogd d.m.v. onderstaande code die ik van een tutorial heb gekopieerd:

<?php 
// We werken ook hier met sessies 
session_start(); 

// Controleren of de bezoeker ingelogd is 
if(!isset($_SESSION['logged_in']) || $_SESSION['logged_in'] == false) 
{ 
    header('Location: webo-login.php'); 
    exit(); 
} 
?>


Kan mij iemand op weg helpen met de logout?

groetjes Jop
kijk eens naar session_destroy en unset op php.net
<?php

session_start();
$_SESSION['logged_in'] = false;
header('Location: webo-login.php');

?>
Beste Frank,

Dank voor de reactie! Is het ook mogelijk hiervan een case te maken, en deze een id mee te geven in de link?

[size=xsmall]Toevoeging op 02/07/2014 18:48:49:[/size]

Zou dit zo kunnen werken?


<?php
switch ($action) {
	case ”logout”:
		session_start();
if(session_destroy())
{
header("Location: index.php");
}
break;
?>



En dan de link als volgt: www.test.com/index.php?action=logout
Jop geen op 02/07/2014 16:08:17

[size=xsmall]Toevoeging op 02/07/2014 18:48:49:[/size]
Zou dit zo kunnen werken?

Zelf al geprobeerd?! ;-)
Beste,

Heb vanmiddag geprobeerd alleen word mijn pagina wit, dus ergens zit nog een error.
Wat ik zelf al gemerkt heb in de code is dat er een switch word gemaakt, alleen hoeft hij niet te switchen want er is maar een case.
Wat kan ik doen om dit zo te laten werken?


Groetjes Jop
Jop geen op 02/07/2014 20:19:54

Heb vanmiddag geprobeerd alleen word mijn pagina wit, dus ergens zit nog een error.

Heb je error-reporting dan niet aan staan?

Jop geen op 02/07/2014 20:19:54

Wat ik zelf al gemerkt heb in de code is dat er een switch word gemaakt, alleen hoeft hij niet te switchen want er is maar een case.
Wat kan ik doen om dit zo te laten werken?

Waarom dan een switch gebruiken?

Waar komt $action vandaan?

Heb je de juiste aanhalingstekens? Zie in je code ” staan (ipv " ).

Verder zou ik session_start bovenaan een script plaatsen en niet halverwege een script.

Waarom heb je die if-constructie?
Je bent ook een { vergeten af te sluiten. Dat kan je witte regel verklaren...

<?php
// Sessie starten
session_start();

switch ($action) {
case "logout":
// Sessie verbreken
session_destroy();
// Redirect
header("Location: index.php");
break;
}
?>

Als het niet werkt kijk dan of je hiermee iets ziet:

<?php
// Sessie starten
session_start();

// Bugfix
printf("Deze tekst moet zichtbaar zijn");

switch ($action) {
case "logout":
// Sessie verbreken
session_destroy();
// Redirect
header("Location: index.php");
break;
}
?>

Als deze tekst zichtbaar is en er gebeurt verder niks, dan ontbreekt zeer waarschijnlijk $action

Reageren