Vraag over php script
Nu wil ik dus dat als men inlogt, gelijk word doorgelinkt naar die pagina. Maar weet niet hoe ik dat moet maken (aangezien ik geen tot weinig verstand van php heb).
Dit is het script:
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
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
<?php
session_start(); // start een sessie of zet een sessie voort
require("connect.php"); // connectie met database maken en database selecteren
// controleer hier of iemand inlogt - dit moet _voor_ de <HTML>-tag gebeuren gebeuren
if(trim($_POST['naam']) <> "" && trim($_POST['wacht']) <> "") {
// naam en wachtwoord zijn ingevuld. Haal het (versleutelde) wachtwoord en
// het gebruikersniveau dat bij deze gebruikersnaam hoort uit de database op
// en vergelijk dit wachtwoord met het in het formulier opgegeven wachtwoord.
$naam = $_POST['naam'];
$wacht = md5($_POST['wacht']);
$res = mysql_query("SELECT id, pass, level FROM users where name='$naam'") or die(mysql_error());
// Als er een resultaat is, oftewel er bestaat een gebruiker met de naam $naam
if(mysql_num_rows($res) > 0) {
$row = mysql_fetch_assoc($res);
// aanname: het wachtwoord in de database is eenmalig gehashed mbv de functie md5()
// vergelijk het opgehaalde wachtwoord met een versleutelde versie van het in het
// formulier opgegeven wachtwoord
if(!strcmp($wacht, $row['pass'])) {
// alle gegevens kloppen
// v1.2 extra functionaliteit, onthouden login
// wil de gebruiker zijn gegevens onthouden ?
if(isset($_POST['memory'])) {
// set cookie (voor 2 maanden) en onthoud het IP
setcookie("login_cookie", $naam.";".$wacht, time()+3600*24*31*2, "/");
$ip = $_SERVER['REMOTE_ADDR'];
mysql_query("UPDATE users SET last_ip='".$ip."' WHERE id=".$row['id']) or die(mysql_error());
}
// vul sessievariabelen
$_SESSION['sUser'] = $naam; // gebruikersnaam van ingelogd persoon
$_SESSION['sUserLevel'] = $row['level']; // bijbehorende gebruikersniveau
$_SESSION['sTime'] = time(); // de huidige tijd
$_SESSION['sMaxIdle'] = 60 * 60; // het aantal seconden inactiviteit
} else {
// wachtwoorden komen niet overeen, breek de sessie weer af
$_SESSION = array();
session_destroy();
}
// geef de resultaten van deze query weer vrij
unset($row);
mysql_free_result($res);
}
// ververs, of de gebruikersnaam/wachtwoord combinatie nou klopt of niet, de pagina
header("Location: login.php");
}
?>
session_start(); // start een sessie of zet een sessie voort
require("connect.php"); // connectie met database maken en database selecteren
// controleer hier of iemand inlogt - dit moet _voor_ de <HTML>-tag gebeuren gebeuren
if(trim($_POST['naam']) <> "" && trim($_POST['wacht']) <> "") {
// naam en wachtwoord zijn ingevuld. Haal het (versleutelde) wachtwoord en
// het gebruikersniveau dat bij deze gebruikersnaam hoort uit de database op
// en vergelijk dit wachtwoord met het in het formulier opgegeven wachtwoord.
$naam = $_POST['naam'];
$wacht = md5($_POST['wacht']);
$res = mysql_query("SELECT id, pass, level FROM users where name='$naam'") or die(mysql_error());
// Als er een resultaat is, oftewel er bestaat een gebruiker met de naam $naam
if(mysql_num_rows($res) > 0) {
$row = mysql_fetch_assoc($res);
// aanname: het wachtwoord in de database is eenmalig gehashed mbv de functie md5()
// vergelijk het opgehaalde wachtwoord met een versleutelde versie van het in het
// formulier opgegeven wachtwoord
if(!strcmp($wacht, $row['pass'])) {
// alle gegevens kloppen
// v1.2 extra functionaliteit, onthouden login
// wil de gebruiker zijn gegevens onthouden ?
if(isset($_POST['memory'])) {
// set cookie (voor 2 maanden) en onthoud het IP
setcookie("login_cookie", $naam.";".$wacht, time()+3600*24*31*2, "/");
$ip = $_SERVER['REMOTE_ADDR'];
mysql_query("UPDATE users SET last_ip='".$ip."' WHERE id=".$row['id']) or die(mysql_error());
}
// vul sessievariabelen
$_SESSION['sUser'] = $naam; // gebruikersnaam van ingelogd persoon
$_SESSION['sUserLevel'] = $row['level']; // bijbehorende gebruikersniveau
$_SESSION['sTime'] = time(); // de huidige tijd
$_SESSION['sMaxIdle'] = 60 * 60; // het aantal seconden inactiviteit
} else {
// wachtwoorden komen niet overeen, breek de sessie weer af
$_SESSION = array();
session_destroy();
}
// geef de resultaten van deze query weer vrij
unset($row);
mysql_free_result($res);
}
// ververs, of de gebruikersnaam/wachtwoord combinatie nou klopt of niet, de pagina
header("Location: login.php");
}
?>
<HTML>
<HEAD>
<TITLE>sessies·login</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body,td,th {
color: #FFFFFF;
}
body {
background-color: #FF0000;
}
-->
</style>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);
//-->
</script>
</HEAD>
<BODY>
Code (php)
<p> </p>
<p> </p>
<FORM ACTION="login.php" METHOD="post">
<table width="500" border="3" align="center" cellspacing="5">
<tr>
<td><table width="400" border="0" align="center" cellspacing="5">
<tr>
<td><div align="center">
<h2>Inlogsectie<br>
</h2>
</div></td>
</tr>
<tr>
<td> <table width="300" border="0" align="center" cellspacing="5">
<tr>
<td>Naam</td>
<td><input type="text" name="naam" size="15"></td>
</tr>
<tr>
<td>Wachtwoord</td>
<td><input type="password" name="wacht" size="15"></td>
</tr>
<tr>
<td><INPUT TYPE="submit" VALUE="Inloggen"></td>
<!-- v1.2 extra functionaliteit, login onthouden -->
<td><INPUT TYPE="checkbox" NAME="memory" VALUE="1">
Onthoud mijn login</td>
</tr>
</table></td></tr>
</table></td>
</tr>
</table>
</FORM>
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?php
} else {
// de gebruiker is ingelogd - geef een welkomstboodschap oid
// hier kun je tevens kijken of alle sessievariabelen de goede
// waarden hebben (debugging)
echo "Hallo <B>".$_SESSION['sUser']."</B> leuk dat je weer terug bent,<BR>\n";
echo "<A HREF=\"voorbeeld.php\">Klik hier voor een voorbeeld</A><BR>\n";
echo "<A HREF=\"logout.php\">Klik hier om uit te loggen</A><BR>\n";
}
?>
} else {
// de gebruiker is ingelogd - geef een welkomstboodschap oid
// hier kun je tevens kijken of alle sessievariabelen de goede
// waarden hebben (debugging)
echo "Hallo <B>".$_SESSION['sUser']."</B> leuk dat je weer terug bent,<BR>\n";
echo "<A HREF=\"voorbeeld.php\">Klik hier voor een voorbeeld</A><BR>\n";
echo "<A HREF=\"logout.php\">Klik hier om uit te loggen</A><BR>\n";
}
?>
</body>
</html>
Er zijn nog geen reacties op dit bericht.