Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /usr/local/psa/home/vhosts/scriptzine.nl/httpdocs/theme/default/global.php:1) in /usr/local/psa/home/vhosts/scriptzine.nl/httpdocs/theme/default/global.php on line 2
Script Zine, Webmaster help in English and Dutch!
Script Zine, webmaster help in English and Dutch
TUTORIALS SCRIPTS FORUM CONTACT
Tutorial pages:« 1 | 2 | 3 | 4 | 5 »
wmikke
Simpel loginsysteem - Posted on: 07-10-2007 at 19:17

Admin


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();

Code
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.

Code
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_passwordmd5($_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.

Code
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_passwordmd5($_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.

Code
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_passwordmd5($_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"$timestamptime()+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="4url=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 »

Printable version

 
 

© Script Zine 2003-2010 - Script Zine Design - Hosting by: Mihosnet
Recommend: IE 6