inlogsysteem-1-gebruiker
Gesponsorde koppelingen
PHP script bestanden
include.inlog.php:
Code (php)
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
<?php
[code]<?php
if(empty($_SESSION)) //als er nog geen sessie gestart is
{
session_start(); //dan starten wij hem wel
}
/**
* Check of variabele bestaat
*
* @param string $x de variabele waarvan bekeken moet worden of hij bestaat
* @param string $y de waarde die gereturned moet worden wanneer $x niet bestaat
* @param string $z achtervoegsel wat achter $x wordt geplakt als deze bestaat
* @return string $x.$z of $y
*/
function ifset(&$x, $y = null,$z=null)
{
return isset($x) ? $x.$z : $y;
}
/**
* Toon het inglogformulier
*
* @param array $aErrors een array met errors die getoond worden in het formulier
* @return string het inlogformulier
*/
function toonInlogFormulier($aErrors = array())
{
return '<span class="formError">'.ifset($aErrors['global'],null,'<br /><br />').'</span><form action="'.$_SERVER['SCRIPT_NAME'].'" method="post">
<label for="username">Gebruikersnaam:</label> <input type="text" name="username" id="username" value="'.ifset($_POST['username']).'" /> <span class="formError">'.ifset($aErrors['username']).'</span><br />
<label for="password">Wachtwoord:</label> <input type="password" name="password" id="password" value="'.ifset($_POST['password']).'" /> <span class="formError">'.ifset($aErrors['password']).'</span><br />
<br />
<input type="submit" value="Inloggen" />
</form>';
}
/**
* Valideer het inglogformulier
*
* @param string $sUsername de correcte username
* @param string $sPassword een md5 hash van het correcte wachtwoord
* @return string het inlogformulier bij een foutieve login
*/
function validateInlogformulier($sUsername, $sPassword)
{
$aErrors = array();
if($_SERVER['REQUEST_METHOD'] == 'POST') //wanneer er een post request is uitgevoerd
{
if(empty($_POST['username'])) { $aErrors['username'] = 'Geef een gebruikersnaam op'; } //checken we of er een username
if(empty($_POST['password'])) { $aErrors['password'] = 'Geef een wachtwoord op'; } //en password is opgegeven
if(empty($aErrors)) //zo ja
{
if($_POST['username'] == $sUsername && md5($_POST['password']) == $sPassword) //Is het de goede username en het goede password
{
$_SESSION['loggedin'] = md5($_SERVER['REMOTE_ADDR']); //dan zetten we een sessie met een hash van het ip
header('Location: '.$_SERVER['SCRIPT_NAME']); //en redirecten we de user weer naar deze pagina
exit(); //er hoeft nu dus niets meer uitgevoerd te worden
}
else //is het een verkeerde combinatie
{
$aErrors['global'] = 'Foutieve inloggegevens'; //dan zetten we dat in de error array
}
}
return toonInlogFormulier($aErrors); //We tonen het inlogformulier opnieuw, ditmaal met (een) error(s)
}
}
/**
* Check of een gebruiker is ingelogd
*
* @return boolean
*/
function isIngelogd()
{
if(isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == md5($_SERVER['REMOTE_ADDR'])) //als de sessie bestaat en de waarde in de sessie is een md5 hash van het ip
{
return true; //dan geven we true terug
}
else //anders is een gebruiker niet ingelogd
{
return false; //en returnen we false
}
}
/**
* Toon of valideer het inlogformulier
*
* @param string $sUsername de correcte username
* @param string $sPassword een md5 hash van het correcte wachtwoord
* @return string
*/
function login($sUsername, $sPassword)
{
if($_SERVER['REQUEST_METHOD'] == 'POST') //als er een post request is uitgevoerd
{
return validateInlogformulier($sUsername, $sPassword); //dan gaan we het formulier valideren
}
else //als er geen post request is uitgevoerd
{
return toonInlogFormulier(); //dan is tonen genoeg
}
}
/**
* Log een gebruiker uit
*/
function loguit()
{
unset($_SESSION['loggedin']); //we verwijderen de sessie
header('Location: '.$_SERVER['SCRIPT_NAME']); //en sturen de gebruiker door naar de huidige pagina
}
?>
[b]Voorbeeld van gebruik:[/b]
<?php
session_start(); //start een sessie, niet noodzakelijk wordt namelijk ook in include.inlog.php gedaan, maar ter illustratie dat dit geen error oplevert
include 'include.inlog.php'; //include onze inlogfuncties
if(!isIngelogd()) //als iemand niet is ingelogd
{
echo login('username', '5f4dcc3b5aa765d61d8327deb882cf99'); //dan tonen we het inglogdformulier. (inlognaam: username, wachtwoord: password)
}
elseif(isset($_GET['loguit'])) //als iemand uit wil loggen
{
loguit(); //dan mag dat
}
else
{
echo 'ingelogd. <a href="?loguit">loguit</a>'; //en anders mag je zelf weten wat je doet
}
?>
[code]<?php
if(empty($_SESSION)) //als er nog geen sessie gestart is
{
session_start(); //dan starten wij hem wel
}
/**
* Check of variabele bestaat
*
* @param string $x de variabele waarvan bekeken moet worden of hij bestaat
* @param string $y de waarde die gereturned moet worden wanneer $x niet bestaat
* @param string $z achtervoegsel wat achter $x wordt geplakt als deze bestaat
* @return string $x.$z of $y
*/
function ifset(&$x, $y = null,$z=null)
{
return isset($x) ? $x.$z : $y;
}
/**
* Toon het inglogformulier
*
* @param array $aErrors een array met errors die getoond worden in het formulier
* @return string het inlogformulier
*/
function toonInlogFormulier($aErrors = array())
{
return '<span class="formError">'.ifset($aErrors['global'],null,'<br /><br />').'</span><form action="'.$_SERVER['SCRIPT_NAME'].'" method="post">
<label for="username">Gebruikersnaam:</label> <input type="text" name="username" id="username" value="'.ifset($_POST['username']).'" /> <span class="formError">'.ifset($aErrors['username']).'</span><br />
<label for="password">Wachtwoord:</label> <input type="password" name="password" id="password" value="'.ifset($_POST['password']).'" /> <span class="formError">'.ifset($aErrors['password']).'</span><br />
<br />
<input type="submit" value="Inloggen" />
</form>';
}
/**
* Valideer het inglogformulier
*
* @param string $sUsername de correcte username
* @param string $sPassword een md5 hash van het correcte wachtwoord
* @return string het inlogformulier bij een foutieve login
*/
function validateInlogformulier($sUsername, $sPassword)
{
$aErrors = array();
if($_SERVER['REQUEST_METHOD'] == 'POST') //wanneer er een post request is uitgevoerd
{
if(empty($_POST['username'])) { $aErrors['username'] = 'Geef een gebruikersnaam op'; } //checken we of er een username
if(empty($_POST['password'])) { $aErrors['password'] = 'Geef een wachtwoord op'; } //en password is opgegeven
if(empty($aErrors)) //zo ja
{
if($_POST['username'] == $sUsername && md5($_POST['password']) == $sPassword) //Is het de goede username en het goede password
{
$_SESSION['loggedin'] = md5($_SERVER['REMOTE_ADDR']); //dan zetten we een sessie met een hash van het ip
header('Location: '.$_SERVER['SCRIPT_NAME']); //en redirecten we de user weer naar deze pagina
exit(); //er hoeft nu dus niets meer uitgevoerd te worden
}
else //is het een verkeerde combinatie
{
$aErrors['global'] = 'Foutieve inloggegevens'; //dan zetten we dat in de error array
}
}
return toonInlogFormulier($aErrors); //We tonen het inlogformulier opnieuw, ditmaal met (een) error(s)
}
}
/**
* Check of een gebruiker is ingelogd
*
* @return boolean
*/
function isIngelogd()
{
if(isset($_SESSION['loggedin']) && $_SESSION['loggedin'] == md5($_SERVER['REMOTE_ADDR'])) //als de sessie bestaat en de waarde in de sessie is een md5 hash van het ip
{
return true; //dan geven we true terug
}
else //anders is een gebruiker niet ingelogd
{
return false; //en returnen we false
}
}
/**
* Toon of valideer het inlogformulier
*
* @param string $sUsername de correcte username
* @param string $sPassword een md5 hash van het correcte wachtwoord
* @return string
*/
function login($sUsername, $sPassword)
{
if($_SERVER['REQUEST_METHOD'] == 'POST') //als er een post request is uitgevoerd
{
return validateInlogformulier($sUsername, $sPassword); //dan gaan we het formulier valideren
}
else //als er geen post request is uitgevoerd
{
return toonInlogFormulier(); //dan is tonen genoeg
}
}
/**
* Log een gebruiker uit
*/
function loguit()
{
unset($_SESSION['loggedin']); //we verwijderen de sessie
header('Location: '.$_SERVER['SCRIPT_NAME']); //en sturen de gebruiker door naar de huidige pagina
}
?>
[b]Voorbeeld van gebruik:[/b]
<?php
session_start(); //start een sessie, niet noodzakelijk wordt namelijk ook in include.inlog.php gedaan, maar ter illustratie dat dit geen error oplevert
include 'include.inlog.php'; //include onze inlogfuncties
if(!isIngelogd()) //als iemand niet is ingelogd
{
echo login('username', '5f4dcc3b5aa765d61d8327deb882cf99'); //dan tonen we het inglogdformulier. (inlognaam: username, wachtwoord: password)
}
elseif(isset($_GET['loguit'])) //als iemand uit wil loggen
{
loguit(); //dan mag dat
}
else
{
echo 'ingelogd. <a href="?loguit">loguit</a>'; //en anders mag je zelf weten wat je doet
}
?>