Hoe kan ik checken of iemand (al) ingelogd is? (php)

Ik heb de volgende php code:

session_start();

$username = $_POST['username'];
$password = $_POST['password'];
$submit = $_POST['submit'];

if($submit){
if($username&&$password){ // Hier wordt gecontroleerd of alles klopt, wanneer dit goed is, voert hij de code hieronder uit!

$connect /* Zet variabele connect */ = mysql_connect("localhost", "root") or die ("Kan geen verbinden maken met Database") /* naar mysql_connect*/ ;
mysql_select_db("portfolio2") or die ("Database niet gevonden");

$query = mysql_query("SELECT * FROM users WHERE username='$username'");

$numrows = mysql_num_rows($query);

if($numrows !=0){

//code to login
while ($row = mysql_fetch_assoc($query)){
$dbusername = $row['username'];
$dbpassword = $row['password'];
}

//check to see if they match!
if($username==$dbusername&&$password==$dbpassword){
header('location: admin.php');
}
else
echo "Onjuist wachtwoord";
}
else
echo "Gebruiker bestaat niet!";

}
else
echo "Voer alsjeblieft het formulier in!";


}
?>

Dit is login.php en ik wil graag op beveiligde pagina's controleren of de gebruiker is ingelogd, wanneer dit niet het geval is moet hij terug naar index.php gestuurd worden. Welke code moet ik hierbij plaatsen, en wat moet ik dan plaatsen op de pagina die ik wil beveiligen?

Weet jij het antwoord?

/2500

Het beste antwoord

Net zoals je $_POST gebruikt kun je $_SESSION gebruiken. In $_SESSION kun je variabelen stoppen die bewaard moeten blijven zolang de gebruiker op jouw site zit. Bij het inloggen kun je dus $_SESSION['loggedin'] = true zetten. en om te kijken of een gebruiker ingelogd is kun je gewoon die variabele weer aanroepen.

Je zou een cookie kunnen setten, zodra er juist ingelogd is. Vervolgens kun je op de beveiligde pagina's testen of de cookie geset is. De cookie geef je een verlooptijd van bijvoorbeeld 20 minuten mee, zodat je na 20 minuten opnieuw moet inloggen. Als een beveiligde pagina aangeroepen wordt, geef je de cookie weer een waarde, zodat de periode van 20 minuten weer ingaat. Code voor het gebruik van cookies in php is simpel en op veel plaatsen te vinden.

Stel zelf een vraag

Ben je op zoek naar het antwoord op die ene vraag die je misschien al tijden achtervolgt?

/100