我创建了这个登录系统,它一直工作到今天下午突然没有$结果,因此代码不起作用。我检查了我的数据库和de查询是正确的但不知何故我的代码没有做任何事情。 $ _POST语句给出了正确的值,并且在注册后第一次脚本有效,但之后它就注定了。
if (!empty($_POST['email'])) {
include("connectdb.php");
$success = false;
$stmt = $db->prepare("SELECT 1 FROM users WHERE email=? AND password=sha1(?)");
$stmt2 = $db->prepare("SELECT klantnummer FROM users WHERE email = ? AND password =sha1(?)");
$stmt->bindValue(1, $_POST["email"], PDO::PARAM_STR);
$stmt->bindValue(2, $_POST["password"], PDO::PARAM_STR);
$stmt2->bindValue(1, $_POST["email"], PDO::PARAM_STR);
$stmt2->bindValue(2, $_POST["password"], PDO::PARAM_STR);
$stmt->execute();
$stmt2->execute();
$result = $stmt->fetch(PDO::FETCH_NUM);
echo $result;
if ($result) {
if ($result[0] === "1"){
$success = true;
}}
else {echo "very wrong";}
while($row = $stmt2->fetch(PDO::FETCH_ASSOC)){
$userid= $row['klantnummer'];
$naam = $row['voornaam'] ." ". $row['achternaam'];
}
if ($success){
$_SESSION['loggedin'] = true;
$_SESSION['userid'] = $userid;
$_SESSION['naam'] = $naam;
header('Location: accountinf.php');
}
else {
print("Login incorrect.<br />Click <a href=\"{$_SERVER['PHP_SELF']}\">here</a> to try again.<br />");
}}
else {echo "something wrong";}
?>
<div class='login2'>
<p> Enter e-mail and password: </p>
<form action="<?php print $_SERVER['PHP_SELF']; ?>" method = "POST">
E-mail:<br>
<input type='text' name="email" required pattern="^[_a-z0-9-]+(\.[_a-z0-9- ]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})$">
<br>
Password:<br>
<input type='password' name='password' required>
<br><br>
<input type='submit' value="Submit">
</form>
<p> <a href="javascript:ReverseDisplay('lostpwbox'); javascript:HideContent('loginbox');">Forgot password?</a></p>
<p> <a href="javascript:ReverseDisplay('registerbox'); javascript:ReverseDisplay('loginbox')">If you don't have an account yet, register here</a>.</p>
</div>