|
|
|
Tutorial pages: « 1 | 2 | 3 | 4 | 5 » |
|
wmikke
|
| Simpel loginsysteem - Posted on: 07-10-2007 at 19:17 | |

|
Op deze pagina gaan we verder met het script dat daadwerkelijk mensen inlogt. We beginnen zoals in het registratie script met het controleren of het formuliertje al is verzonden.
Omdat deze pagina gebruikt gaat maken van sessions en cookies moeten we deze pagina beginnen met het commando: session_start(); en ob_start();
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
|
|
<?php
ob_start();
session_start();
include('config.inc.php');
// controleren of het formuliertje al verzonden is
if($_POST['submit']){
}
// nog niet verzonden heel snel een formuliertje
else {
?>
<form method=post>
Username: <input type=text name=username><br />
Password: <input type=password name=pass><br />
<input type=submit name=submit value="Inloggen">
</form>
<?php
}
?>
|
|
|
Zodra het formulier is verzonden gaan we de gegevens declareren zodat we deze makkelijk kunnen gebruiken, ook coderen we nu meteen het wachtwoord.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
|
|
<?php
ob_start();
session_start();
include('config.inc.php');
// controleren of het formuliertje al verzonden is
if($_POST['submit']){
$p_username = $_POST['username'];
$p_password= md5($_POST['pass']); // We hebben het wachtwoord gecodeerd opgeslagen in de database dus moeten we het wachtwoord ook nu coderen, dit kunnen we al gelijk met het declareren doen.
}
// nog niet verzonden heel snel een formuliertje
else {
?>
<form method=post>
Username: <input type=text name=username><br />
Password: <input type=password name=pass><br />
<input type=submit name=submit value="Inloggen">
</form>
<?php
}
?>
|
|
|
Als we de gegevens hebben gedeclareerd en gecodeerd kunnen we gaan controleren of de ingevulde gegevens correct zijn.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
|
|
<?php
ob_start();
session_start();
include('config.inc.php');
// controleren of het formuliertje al verzonden is
if($_POST['submit']){
$p_username = $_POST['username'];
$p_password= md5($_POST['pass']); // We hebben het wachtwoord gecodeerd opgeslagen in de database dus moeten we het wachtwoord ook nu coderen, dit kunnen we al gelijk met het declareren doen.
// Controleren of de gebruiker en wachtwoord overeenkomen
$query = mysql_query("SELECT * FROM loginsysteem WHERE username='$p_username' AND password = '$p_password'");
$aantal = mysql_num_rows($query);
// Is het aantal gelijk aan 1 dan komen de gebruikersnaam en wachtwoord overeen, zo niet dan hebben we iets verkeerd ingevuld of bestaat het account niet.
if($aantal == "1"){
}
// Aantal verschilt van 1, dus geen account gevonden of de combinatie klopt niet.
else {
echo "De gebruikersnaam en/of wachtwoord zijn niet correct."
}
}
// nog niet verzonden heel snel een formuliertje
else {
?>
<form method=post>
Username: <input type=text name=username><br />
Password: <input type=password name=pass><br />
<input type=submit name=submit value="Inloggen">
</form>
<?php
}
?>
|
|
|
In dit script gaan we doormiddel van sessies en cookies laten controleren of de gebruiker is ingelogd, we gaan nu een sessie en een cookie declareren met daarin een timestamp (of een ander dynamisch getal). Als vervolgens de waarde in de sessie en de waarde in de cookie overeenkomen is de gebruiker ingelogd. Verdere uitleg in het script.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
|
<?php
ob_start();
session_start();
include('config.inc.php');
// controleren of het formuliertje al verzonden is
if($_POST['submit']){
$p_username = $_POST['username'];
$p_password= md5($_POST['username']); // We hebben het wachtwoord gecodeerd opgeslagen in de database dus moeten we het wachtwoord ook nu coderen, dit kunnen we al gelijk met het declareren doen.
// Controleren of de gebruiker en wachtwoord overeenkomen
$query = mysql_query("SELECT * FROM loginsysteem WHERE username='$p_username' AND password = '$p_password'");
$aantal = mysql_num_rows($query);
// Is het aantal gelijk aan 1 dan komen de gebruikersnaam en wachtwoord overeen, zo niet dan hebben we iets verkeerd ingevuld of bestaat het account niet.
if($aantal == "1"){
// Nu kunnen we een sessie starten waarin een willekeurig nummer staat, in deze tutorial gebruik ik even een timestamp om het kort te houden.
$timestamp = time(); // De timestamp activeren we maar 1x anders krijgen we alsnog verschillende waardes in onze sessie en cookie. :-)
$_SESSION['simpellogin_id'] = $timestamp; // Dit is de sessie
setcookie("simellogin_id", $timestamp, time()+3600); // 60 seconden * 60 minuten = 3600 seconden, ofwel 1 uur blijft deze cookie geldig.
// Melding weergeven
echo "Je bent nu ingelogd!";
// We kunnen de bezoeker nu ook door naar de volgende pagina sturen
echo "<meta http-equiv="refresh" content="4; url=beveiligde_pagina.php"> ";
}
// Aantal verschilt van 1, dus geen account gevonden of de combinatie klopt niet.
else {
echo "De gebruikersnaam en/of wachtwoord zijn niet correct.";
}
}
// nog niet verzonden heel snel een formuliertje
else {
?>
<form method=post>
Username: <input type=text name=username><br />
Password: <input type=password name=pass><br />
<input type=submit name=submit value="Inloggen">
</form>
<?php
}
?>
|
|
|
Nu hebben we ook het inlog formuliertje klaar. Op de volgende pagina gaan we kijken hoe je moet controleren of iemand is ingelogd!
|
|
|
|
Tutorial pages: « 1 | 2 | 3 | 4 | 5 »
|
|
|