这是我用来登录的代码。如果我提供错误的用户名和密码,我将不会留在登录页面,index.php将自动刷新?
<?php
// When clicked on button Login
if(isset($_POST['inloggen'])) {
if (empty($_POST['username']) && empty($_POST['password'])) {
} //Controls the statement if username and password are empty get an error else get into the database and get the login details.
else {
$username = $_POST['gebruikersnaam'];
$password = $_POST['wachtwoord'];
set_include_path (include "/database/DBconnectie.php");
//de tabel selecteren van de database
$sql = "SELECT gebruikersnaam, wachtwoord FROM klanten, medewerkers WHERE gebruikersnaam='$username' AND wachtwoord='$password'";
$query = mysqli_query($conn, $sql);
if ($query) {
$row = mysqli_fetch_assoc($query);
$dbgebruiker = $row['gebruikersnaam'];
$dbwachtwoord = $row['wachtwoord'];
$gebruikercheck = $row['med_gebruikersnaam'];
}
if ($username == $dbgebruiker && $password == $dbwachtwoord) {
$_SESSION['gebruikersnaam'] = $dbgebruiker;
$_SESSION['wachtwoord'] = $dbwachtwoord;
$_SESSION['med_gebruikersnaam'] = $gebruikercheck;
//controleren of de klant een medewerker is
if ($gebruikercheck == $username) {
header('Location: medewerkers/index.php');
} //als het geen medewerker is dan log je in als klant
else {
header('Location: kopers/index.php');
}
} else {
$melding = "Onjuiste gebruikersnaam en/of wachtwoord";
}
$conn->close();
}
}
?>
这是我用来登录的表格。它只是一个简单的登录小狗窗口。
<!-- Gebruikersnaam & Wachtwoord Login form -->
<div class="user_login">
<form method="POST">
<label style="margin-top:-4%;">Gebruikersnaam:</label>
<input type="text" name="gebruikersnaam"/>
<br/>
<label style="margin-top:-6%;">Wachtwoord:</label>
<input type="password" name="wachtwoord"/>
<a href="#" class="forgot_password" style=" margin-top:-0.3%;">Wachtwoord vergeten?</a>
<br/>
<div class="action_btns" style="margin-top:-8%; margin-bottom:9%;">
<div class="one_half"><a href="#" class="btn back_btn"><i
class="fa fa-angle-double-left"></i>Terug</a></div>
<div class="one_half last"><button type="submit" class="btn btn_red" name="inloggen">Inloggen</button></div>
</div>
</form>
<?=$melding;?>
</div>
答案 0 :(得分:0)
更改此
$sql = "SELECT gebruikersnaam, wachtwoord FROM klanten, medewerkers WHERE gebruikersnaam='$username' AND wachtwoord='$password'";
到
$sql = "SELECT med_gebruikersnaam,gebruikersnaam, wachtwoord FROM klanten, medewerkers WHERE gebruikersnaam='$username' AND wachtwoord='$password'";
因为您没有选择med_gebruikersnaam
,所以:
$gebruikercheck = $row['med_gebruikersnaam']; //will always be unidentified.
如果$gebruikercheck
未被识别,那么:
if ($gebruikercheck == $username) //will return false always.