We hebben het login script van deze site gehaald, en het werkt perfect! Maar nu wil ik hem iets uitbreiden doormiddel van een soort selectie. We gebruiken het voor een vacature website, en dat is weer voor een project. Nu werkt het inloggen prima, maar nu willen we een selectie hebben van werknemers en werkgevers, dus eigenlijk als iemand zich registeerd als werkgever en dan aan gaat melden als werkgever dan die dan op een werkgevers pagina terecht komt en voor werknemer geldt hetzelfde. Dit is het script wat we voor het inloggen gebruiken.


<?
session_start();
ob_start();
?>
<html>
<head>
<title>Inloggen</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>
<h2 align="center">Inloggen</h2>
<?
include("config.php");
if($_SESSION['naam'] == "" AND $_SESSION['status'] == "") {
if($_COOKIE['naam'] == "" AND $_COOKIE['wachtwoord'] == "" AND $_COOKIE['email'] == "") {
if(isset($_GET['login'])) {
if($_POST['naam'] != "" AND $_POST['wachtwoord'] != "") {
$sql = "SELECT * FROM gebruikers WHERE naam='".$_POST['naam']."'";
$resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
$rij = mysql_fetch_object($resultaat);
$dbpass = htmlspecialchars($rij->wachtwoord);
$status = htmlspecialchars($rij->status);
$email = htmlspecialchars($rij->email);
$actief = htmlspecialchars($rij->actief);
$pass = md5($_POST['wachtwoord']);
if($dbpass == $pass) {
if($actief == 1) {
$_SESSION['naam'] = $_POST['naam'];
$_SESSION['status'] = $status;
if($_POST['blijven'] == "1") {
setcookie("naam", $_POST['naam'], time() + 365 * 86400);
setcookie("wachtwoord", $pass, time() + 365 * 86400);
}
header("Location: $inlogp");
}else{
echo "<font color='red'><b>Je account is nog niet geactiveerd!</b><font>";
}
}else{
echo "<font color='red'><b>Je wachtwoord en/of naam is incorrect!</b></font>";
}
}else{
echo "<font color='red'><b>Je bent een veld vergeten in te vullen!</b></font>";
}

}else{ }
?>


<form method="post" action="<? echo $_SERVER['PHPSELF']; ?>?login">
<table>
<tr>
<td>Naam:</td><td><input type="text" name="naam"></td>
</tr>
<tr>
<td>Wachtwoord:</td><td><input type="password" name="wachtwoord"></td>
</tr>
<tr>
<td>Functie:</td><td>
<SELECT NAME="functie" SIZE=1> <OPTION SELECTED VALUE="">Uw Keuze
<OPTION>Werknemer
<OPTION>Werkgever
</select>
</td>
</tr>
<tr>
<td></td><td><input type="checkbox" name="blijven" value="1"> Ingelogd blijven</td>
</tr>
<tr>
<td></td><td><input type="submit" value="Inloggen"></td>
</tr>
</table>
<a href="wachtwoord_vergeten.php"><small>Wachtwoord vergeten?</small></a>
</form>
<?

}else{
$sql = "SELECT * FROM gebruikers WHERE naam='".$_COOKIE['naam']."'";
$resultaat = mysql_query($sql) OR die ("Kon geen verbinding maken met MySQL");
$rij = mysql_fetch_object($resultaat);
$dbnaam = htmlspecialchars($rij->naam);
$dbstatus = htmlspecialchars($rij->status);
$dbpass = htmlspecialchars($rij->wachtwoord);

$pass = $_COOKIE['wachtwoord'];
$naam = $_COOKIE['naam'];
if($dbpass == $pass AND $dbnaam == $naam) {
$_SESSION['naam'] = $dbnaam;
header("Location: $inlogp");
}else{
echo "<font color='red'><b>Eén van je cookies klopt niet met wat in de db staat!</b></font>";
}
}
}else{
?>
Een ogenblik geduld, u wordt nu doorgestuurd naar de hoofdpagina.
<meta http-equiv="refresh" content="3;URL=werkgevers.php">
<?
}
?>
</body>
</html>


Onze kennis qua PHP is gering :)
Ik ga het even testen
Wat ga je testen?
Een variabele kun je elke naam geven :)
Hij zegt nu kan pagina niet vinden na inloggen, en hij logt ook altijd in, dus als je met registeren op heb gegeven van werknemer, kan je ook inloggen als werkgever en dat was ook niet de bedoeling eigenlijk.
Niemand die me meer kan verder helpen?

Reageren