PHP - 登录表单

时间:2016-03-13 12:04:16

标签: php mysqli login

我试图在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(这意味着英语失败)。

关于什么是错误的任何想法?

1 个答案:

答案 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>";
}