我试图在PHP中创建一个基本的登录系统。在我的login.html表单中,我输入了用户名和密码,如果我已注册,则需要在数据库中查看。如果是这样,那么它会重定向到sucesso.html页面,否则会失败并转到falha.html页面。
以下是html中的表单:
<!DOCTYPE html>
<html lang="pt">
<head>
<meta charset="UTF-8">
<title>Iniciar sessão</title>
</head>
<body>
<form action="login.php" method="post">
<h3>Username:</h3>
<input type="text" name="u">
<h3>Password:</h3>
<input type="text" name="p">
<input type="submit" value="Enviar">
</form>
<br/><br/>
</body>
</html>
这里是验证用户登录输入的login.php代码:
<?php
// conectar
$conexao = new mysqli("localhost","root","root","login");
// erro !!
if ($conexao->connect_error) {
die('Error : ('. $conexao->connect_errno .') '. $conexao->connect_error);
}
$us = $conexao ->real_escape_string($_POST['u']);
$pa = $conexao ->real_escape_string($_POST['p']);
$query = "SELECT * FROM users WHERE username = '$us' and password = '$pa'";
$executar = $conexao->query($query);
$linhas->$executar->num_rows;
if($linhas){
$v = $executar->fetch_assoc();
extract($v);
echo "<script>window.open('sucesso.html','_self')</script>";
}
else{
echo "<script>window.open('falha.html','_self')</script>";
}
?>
用户名和密码已经在名为login的数据库中,并存储在表用户名和密码中。
问题是,当我按下提交按钮时,它应该转到sucesso.html,但无论我在代码中做了什么修改,它总是转到falha.html(这意味着英语失败)。
关于什么是错误的任何想法?
答案 0 :(得分:1)
将您的代码更新为:
$linhas = $executar->num_rows;
if($linhas>0){
$v = $executar->fetch_assoc();
extract($v);
echo "<script>window.open('sucesso.html','_self')</script>";
}
else{
echo "<script>window.open('falha.html','_self')</script>";
}