I am trying to create a login-system using sessions to remind if you are logged in or not. I can't find any type errors in the code, like a forgotten bracket or something, and I also don't get any error messages in my browser.
The only thing is that I don't see any input fields, although they have to be there. It just doesn't work and I don't know why.
Excuse me if I may be using bad English, but I am dutch.
I really hope anyone can help me out. Thanks!
I used the following code (Comments are in dutch, because I am dutch and I write comments mainly for myself. If you want me to translate it, please tell me in a reply). Note that this is just a part of the code, so don't tell me i forgot the php-tags!
PHP Code:
// Sessievariabelen over het inloggen:
$logged_in = $_SESSION['logged_in'];
$account_type = $_SESSION['account_type'];
// Deze functie is voor het inloggen:
function login() {
// POST-variabelen vereenvoudigen:
$username = $_POST['gebruikersnaam'];
$password = $_POST['wachtwoord'];
$verzenden = $_POST['verzenden'];
// Als de verzendknop is ingedukt:
if(isset($verzenden) and $verzenden != "verzenden") {
// Als de gebruikersnaam en het wachtwoord zijn ingevuld:
if(isset($username) and isset($password) and $username != '' and $password != '') {
// SQL-query opstellen voor het opvragen van gebruikersinformatie:
$query_login = "SELECT * ";
$query_login .= "FROM `users` ";
$query_login .= "WHERE username = `" . $username . "`;";
// Verbinding maken met de MYSQL-server en de juiste database selecteren:
$verbinding = mysql_connect(MYSQL_SERVER, MYSQL_USERNAME, MYSQL_PASSWORD) or die("Er ging iets mis bij de databaseverbinding. Neem contact op met de webmaster. Fout: " . mysql_error());
mysql_select_db(MYSQL_DATABASE) or die("Er ging iets mis bij de databaseverbinding. Neem contact op met de webmaster. Fout: " . mysql_error());
// Resultaat opvragen en de cache legen:
$resultaat = mysql_query($query_login) or die("Er ging iets mis bij de databaseverbinding. Neem contact op met de webmaster. Fout: " . mysql_error());
mysql_free_result($resultaat) or die("Er ging iets mis bij de databaseverbinding. Neem contact op met de webmaster. Fout: " . mysql_error());
// Databaseverbinding sluiten:
mysql_close($verbinding) or die("Er ging iets mis bij de databaseverbinding. Neem contact op met de webmaster. Fout: " . mysql_error());
// Als het ingevulde wachtwoord gelijk is aan het wachtwoord uit de database:
if($resultaat['password'] == $password) {
// Sessievariabelen bijwerken:
$logged_in = true;
$account_type = $resultaat['account_type'];
}
// Als het ingevulde wachtwoord niet overeenkomt met het wachtwoord uit de database:
else {
// Sessievariabelen bijwerken:
$logged_in = false;
$account_type = "";
// Fout opstellen:
$error = "Het opgegeven wachtwoord is onjuist.";
}
}
// Als er geen gebruikersnaam of wachtwoord is ingevuld:
else {
// Sessievariabelen bijwerken:
$logged_in = false;
$account_type = "";
// Fout opstellen:
$error = "Eén of meer van de velden zijn niet ingevuld.";
}
}
// Als er nog niet op de verzendknop is gedrukt:
else {
?>
<form action="<?php echo $_SERVER['php_self']; ?>" method="post">
<table>
<tr>
<td><span>Gebruikersnaam: </span></td>
<td><span>Wachtwoord: </span></td>
<td><input type="submit" name="verzenden" value="Verzenden" /></td>
</tr>
<tr>
<td><input type="text" name="gebruikersnaam" /></td>
<td><input type="text" name="wachtwoord" /></td>
</tr>
</table>
</form>
<?php
}
// Sessievariabelen instellen:
$_SESSION['logged_in'] = $logged_in;
$_SESSION['account_type'] = $account_type;
}
// Einde van de login-functie.
Bookmarks