Bij deze doe ik een beroep op julie behulpzaamheid en vraag ik jullie mij te helpen!
Ik zal hieronder het script plaatsen wat ik wil gebruiken en wat ook prima werkt, het is echter zo dat met dit script het mogelijk is om in te loggen in een afgeschermde omgeving, maar een ieder die inlogt komt op de zelfde pagina terecht.
Nu wil ik voor ieder ingelogt persoon een eigen pagina hebben waarop zij persoonlijke info kunnen vinden.
Hier het huidige script
index.php
<?php
ob_start();
session_start();
error_reporting(E_ALL);
include "config.php";
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Login</title>
</head>
<body>
<div align="center">
<?php
if($_SERVER['REQUEST_METHOD']=="POST"){
# Er is ingelogd, controleer alles
$naam = $_POST['usrnaam'];
$pass = md5(trim($_POST['adminpassw']));
foreach($admin as $adm=>$admkey){
if($naam==$admkey['name']
&& $pass==$admkey['pass']){
# Alles klopt, zet de sessies goed en login
$_SESSION['loggedin'] = $naam;
$_SESSION['loggedinnr'] = $adm;
$_SESSION['loggedintype'] = $admkey['type'];
header("location: loggedin/index.php");
exit();
}
}
# De login en/of pass was/waren niet correct
echo '<b><font color="red">Dit is niet correct</font></b>';
}
# Indien er al ingelogd is wordt de gebruiker doorgestuurd
if(isset($_SESSION['loggedin'])
&& $_SESSION['loggedin']==$admin[$_SESSION['loggedinnr']]['name']){
header("location: loggedin/");
exit();
}
?>
<table border="1" width="30%" bordercolor="#FF9933" bgcolor="#FF9933">
<tr>
<td>
<p align="center"><b>Welkom op de admin site<br />
</b></td>
</tr>
<tr>
<td>
<form action="" method="post">
<p align="center"><b>Username: <br />
</b> <input type="text" name="usrnaam"><br><br />
<b>Password: <br></b> <input type="password" name="adminpassw"><br /><br />
<input type="submit" value="Login"><br />
</form>
</td>
</tr>
</table>
</div>
</body>
</html>config.php
<?php
$admin[0]['name'] = "admin";
$admin[0]['pass'] = "098f6bcd4621d373cade4e832627b4f6"; ### een md5 gecodeerd wachtwoord, in dit geval (test)
$admin[0]['type'] = 2;
$admin[1]['name'] = "test";
$admin[1]['pass'] = "098f6bcd4621d373cade4e832627b4f6";
$admin[1]['type'] = 1;
$admin[2]['name'] = "test";
$admin[2]['pass'] = "098f6bcd4621d373cade4e832627b4f6";
$admin[2]['type'] = 0;
/*
Rechten:
0 = gewone user
1 = moderator
2 = administrator
*/
?>
/loggedin/auth.php
<?
include "../config.php";
if(!isset($_SESSION['loggedin']) ||
$_SESSION['loggedin'] != $admin[$_SESSION['loggedinnr']]['name']){
header("location: logout.php");
exit();
}
function checkAuth($type=0){
if(is_numeric($type)){
if($_SESSION['loggedintype'] < $type){
echo '<div style="color:red; text-align:center;">Deze pagina is niet voor jou ogen bestemd<br />';
echo '<a href="'.$_SERVER['HTTP_REFERER'].'">Klik hier om terug te gaan</a></div>';
exit();
}
}
}
?>
/loggedin/index.php
<?php
/* Deze 3 regels zijn het enige vereiste om te controleren of er is ingelogd */
ob_start();
session_start();
include("auth.php");
checkAuth();
/* Tot hier dus ;-) */
error_reporting(E_ALL);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Administratie || Home</title>
</head>
<body>
<table border="0" width="100%" height="100%" bgcolor="#FF9900">
<tr>
<td height="98"> </td>
<td height="98" align="center" width="50%"><a href="logout.php">logout [<?php echo $_SESSION['loggedin'] ?>]</a></td>
</tr>
<tr>
<td><a href="testpagina.php">Klik hier om naar<br />de testpagina te gaan</a></td>
<td> </td>
</tr>
</table>
</body>
</html>
/loggedin/logout.php
<?php
ob_start();
session_start();
unset($_SESSION['loggedin']);
unset($_SESSION['loggedinnr']);
unset($_SESSION['loggedintype']);
header("location: ../index.php");
exit();
?>
/loggedin/testpagina.php
<?php
/* Deze 3 regels zijn het enige vereiste om te controleren of er is ingelogd */
ob_start();
session_start();
include("auth.php");
checkAuth(2);
/* Tot hier dus ;-) */
error_reporting(E_ALL);
?>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Administratie || Test pagina</title>
</head>
<body>
<table border="0" width="100%" height="100%" bgcolor="#FF9900">
<tr>
<td height="98"> </td>
<td height="98" align=center width="50%"><font color=green><b><?php echo "Welkom ".$_SESSION['loggedin']?></b></font><br />
<a href="logout.php">logout</a></td>
</tr>
<tr>
<td><a href=index.php>Terug naar Home</a></td>
<td> </td>
</tr>
</table>
</body>
</html>
Ik heb het inmiddels 1 keer voor elkaar gekregen om 2 gebruikers in 2 verschillende pagina's terecht te laten komen na het inloggen, maar per ongeluk heb ik dit weer gewist :(
Is er iemand die mij hiermee kan helpen of evt. tips geven, rekening houdende met mijn zeer, maar dan ook echt zeer beperkte kennis van PHP.