我一直在尝试让我的登录脚本工作,但我还没有找到办法,它确实登录但如果用户已经注册,它也不会检查数据库不,你们有人可以帮助我吗?这是我一直试图开始工作的剧本,但尚未能够实现。
请原谅我代码中的荷兰语。
哦,不要担心md5,我只是练习不实际将网站放到网上:)
<?php
if (isset($_POST['username'])){
// backslashes verwijderen
$username = stripslashes($_POST['username']);
$password = stripslashes($_POST['password']);
$username = mysqli_real_escape_string($conn, $username);
$password = mysqli_real_escape_string($conn, $password);
$password = md5($password);
$query = "SELECT * FROM `users` WHERE `username` = '$username' AND `password` = '$password'";
$result = mysqli_query($conn,$query) or die(mysql_error());
$rows = mysqli_num_rows($result);
$data = mysqli_fetch_assoc($result);
if($rows==1){
// sessie aanmaken met de gebruikersnaam en doorsturen naar homepage
$_SESSION['username'] = $username;
$_SESSION['user_id'] = $data['id'];
header("Location: /");
}else{
echo "
<div class='form'>
<h3>Gebruikersnaam en/of wachtwoord is incorrect</h3>
<br/>Klik <a href='inloggen.php'>hier</a> om opnieuw te
proberen.
</div>
";
}
} else {
?>
<div class="form">
<h1>Log In</h1>
<form action="bloemen.html" method="post" name="login">
<input type="text" name="username" placeholder="Username" required />
<input type="password" name="password" placeholder="Password" required />
<input name="submit" type="submit" value="Login" />
</form>
<p>Nog niet geregistreerd? <a href='registreren.php'>Registeren</a></p>
<p>Bent u een medewerker? <a href='medewerker-login.php'> Inloggen</a></p>
</div>
答案 0 :(得分:0)
您的表单将发布到名为&#34; bloemen.html&#34;。
的HTML文件中<form action="bloemen.html" method="post" name="login">
如果你的网页&#34; bloemen.html&#34;是简单的HTML,然后它不会处理任何PHP,服务器端脚本。
您需要发布到PHP脚本所在的页面,即与您的表单相同的PHP页面:
<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post" name="login">
或其他页面:
<form action="Login.php" method="post" name="login">
一旦您发布到相应的脚本,您应该执行服务器端脚本以确定数据库中是否存在用户名/密码。
确保使用当前数据库查询/预准备语句;和加密/解密技术。 Google会帮助您解决这些问题。
希望有所帮助。