Het inloggen
Lees de comments weer :)
www.phphulp.nl/voorbeeld/activatie/inloggen.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
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
<?
session_start();
// maak de database connectie
if (!@mysql_select_db("database_naam", @mysql_connect("localhost", "database_user", "database_pass")))
{
echo "Er kon geen connectie worden gemaakt met de database.";
exit();
}
// defineer de tabel in een variabele
$table = "voorbeeld_gebruikers";
// bekijk of de gene al is ingelogd
if ($HTTP_SESSION_VARS["ingelogd"] && !$loguit)
{
echo "<p>U bent ingelogd. U kunt nu nog niks ;).</p>";
echo "<p><a href=\"$PHP_SELF?loguit=1\">uitloggen</a></p>";
}
// uitloggen
elseif ($HTTP_GET_VARS["loguit"])
{
session_unregister(ingelogd);
echo "<p>U bent uitgelogd.</p>";
echo "<p><a href=\"$PHP_SELF\">inloggen</a></p>";
}
// bekijk of het formulier verzonden is en de gegevens juist zijn
elseif ($HTTP_POST_VARS["submit"] && $HTTP_POST_VARS["login"] && $HTTP_POST_VARS["pass"])
{
// encrypt pass om te matchen met encrypte pass in de database
$passwd = md5($HTTP_POST_VARS[pass]);
// selecteer login/pass uit de database en match ze met ingevoerde gegevens
$sql = "SELECT id FROM $table WHERE login = '$HTTP_POST_VARS[login]' AND pass = '$passwd' AND activeer IS NULL";
$res = mysql_query($sql);
// bekijk of de gegevens juist zijn
if (mysql_num_rows($res) >= 1)
{
// registreer sessie (of cookie)
$ingelogd = mysql_result($res, 0);
session_register(ingelogd);
// setcookie("ingelogd", "$ingelogd", time() + 1 * 86400);
echo "<p>U bent succesvol ingelogd.</p>";
echo "<p>Ga <a href=\"$PHP_SELF\">verder</a>.</p>";
echo "<p><a href=\"$PHP_SELF?loguit=1\">uitloggen</a></p>";
}
// zo niet, geef foutmelding
else
{
echo "<p>U heeft een ongeldige login naam of wachtwoord ingevuld.</p>";
echo "<p>Ook kan het zijn dat uw account nog niet is geactiveerd.</p>";
echo "<p>Probeert u het <a href=\"$PHP_SELF\">opnieuw</a>.</p>";
}
}
// toon formulier
else
{
echo "<form method=\"post\" action=\"$PHP_SELF\">";
echo "Login naam:<br>";
echo "<input type=\"text\" name=\"login\" size=\"20\" maxlength=\"20\"><br>";
echo "Wachtwoord:<br>";
echo "<input type=\"password\" name=\"pass\" size=\"20\"><br>";
echo "<input type=\"submit\" name=\"submit\" value=\"inloggen\">";
echo "</form>";
}
?>
session_start();
// maak de database connectie
if (!@mysql_select_db("database_naam", @mysql_connect("localhost", "database_user", "database_pass")))
{
echo "Er kon geen connectie worden gemaakt met de database.";
exit();
}
// defineer de tabel in een variabele
$table = "voorbeeld_gebruikers";
// bekijk of de gene al is ingelogd
if ($HTTP_SESSION_VARS["ingelogd"] && !$loguit)
{
echo "<p>U bent ingelogd. U kunt nu nog niks ;).</p>";
echo "<p><a href=\"$PHP_SELF?loguit=1\">uitloggen</a></p>";
}
// uitloggen
elseif ($HTTP_GET_VARS["loguit"])
{
session_unregister(ingelogd);
echo "<p>U bent uitgelogd.</p>";
echo "<p><a href=\"$PHP_SELF\">inloggen</a></p>";
}
// bekijk of het formulier verzonden is en de gegevens juist zijn
elseif ($HTTP_POST_VARS["submit"] && $HTTP_POST_VARS["login"] && $HTTP_POST_VARS["pass"])
{
// encrypt pass om te matchen met encrypte pass in de database
$passwd = md5($HTTP_POST_VARS[pass]);
// selecteer login/pass uit de database en match ze met ingevoerde gegevens
$sql = "SELECT id FROM $table WHERE login = '$HTTP_POST_VARS[login]' AND pass = '$passwd' AND activeer IS NULL";
$res = mysql_query($sql);
// bekijk of de gegevens juist zijn
if (mysql_num_rows($res) >= 1)
{
// registreer sessie (of cookie)
$ingelogd = mysql_result($res, 0);
session_register(ingelogd);
// setcookie("ingelogd", "$ingelogd", time() + 1 * 86400);
echo "<p>U bent succesvol ingelogd.</p>";
echo "<p>Ga <a href=\"$PHP_SELF\">verder</a>.</p>";
echo "<p><a href=\"$PHP_SELF?loguit=1\">uitloggen</a></p>";
}
// zo niet, geef foutmelding
else
{
echo "<p>U heeft een ongeldige login naam of wachtwoord ingevuld.</p>";
echo "<p>Ook kan het zijn dat uw account nog niet is geactiveerd.</p>";
echo "<p>Probeert u het <a href=\"$PHP_SELF\">opnieuw</a>.</p>";
}
}
// toon formulier
else
{
echo "<form method=\"post\" action=\"$PHP_SELF\">";
echo "Login naam:<br>";
echo "<input type=\"text\" name=\"login\" size=\"20\" maxlength=\"20\"><br>";
echo "Wachtwoord:<br>";
echo "<input type=\"password\" name=\"pass\" size=\"20\"><br>";
echo "<input type=\"submit\" name=\"submit\" value=\"inloggen\">";
echo "</form>";
}
?>
Voorbeeld van het script kun je zien op:
www.phphulp.nl/voorbeeld/activatie/registreren.php
www.phphulp.nl/voorbeeld/activatie/activeer.php
www.phphulp.nl/voorbeeld/activatie/inloggen.php