Hét vraag- en antwoordplatform van Nederland

Welke fout heb ik gemaakt in mijn PHP? (Sessions)

De bedoeling is dat als je in index.php komt hij checkt of je ingelogd bent. Zo nee, dan ga je naar de inlog. Maar ook al geef ik een goed wachtwoord, werkt hij niet. Hoe kan dit?

Index.php

include 'check.php';
echo "ingelogd";
?>

check.php
session_start();
if($_SESSION['login'] != 'goed') {
unset($_SESSION['login']);
unset($_SESSION['naam']);
header('Location: login.php?uit');
exit();
}
?>

Login.php
if(isset($_POST['login'])) {

$gb = array();
$gb['jan'] = 'jan2';
$gb['piet'] = 'piet2';

if(isset($gb[$_POST['naam']]) && $gb[$_POST['naam']] == $_POST['wachtwoord'])
{
$_SESSION['login'] = 'goed';
$_SESSION['naam'] = $_POST['naam'];

header("Location: index.php");

} else {

header("Location: login.php?fout");

}

} else { ?>
Login formulier


Heb ik iets fout gedaan met de sessies?

Ik hoop dat iemand me kan helpen.

Art

Verwijderde gebruiker
11 jaar geleden
837
rose
11 jaar geleden
Als je ook nog even de code van je form geeft...

Heb je meer informatie nodig om de vraag te beantwoorden? Reageer dan hier.

Het beste antwoord

Begin allereerst met je error reporting aan te zetten, je zult dan de nodige fourtmeldingen te zien krijgen

Heb je code wat aangepast, en kwam tot het volgende: (heb overal comentaar bijgezet zodat je ziet wat er gebeurd, het is handig als je dit zelf ook doet, zo kan je de fouten achterhalen)

http://www.codedump.be/code/1405/
(Lees meer...)
Verwijderde gebruiker
11 jaar geleden
Verwijderde gebruiker
11 jaar geleden
Oké, bedankt voor je code! Ik ben erachter gekomen dat ik een session_start(); miste...

Weet jij het beter..?

Het is niet mogelijk om je eigen vraag te beantwoorden Je mag slechts 1 keer antwoord geven op een vraag Je hebt vandaag al antwoorden gegeven. Morgen mag je opnieuw maximaal antwoorden geven.

0 / 2500
Gekozen afbeelding