2

我是 PHP 的初学者,我的问题就像我的表单字段已经填充了 root 和密码,即使没有输入任何内容......请帮助......

<?php
    $host="localhost";
    $user="root";
    $pass="****";
    $db="test123";
    mysqli_connect($host,$user,$pass); 
    mysqli_select_db($db);
    if(isset($_POST['username']));
    {
        $username=$_POST['usern'];
        $password=$_POST['passw'];
        $qry="SELECT * FROM users WHERE name='".$username."' 
            AND password='".$password."' LIMIT 1 ";
        $res=mysql_query($qry);
        if(mysqli_stmt_num_rows($res)==1 )
        {
             echo"You have successfully logged in";
            exit();
            }
            else{
            echo"invalid login information";
            exit();
            }
                    }
    ?>

<!doctype html>
<html>

    <head>
        <title>Untitled Document</title>
    </head>

    <body>
        <form method="post" action="login.php">Username:
            <input type="text" name="usern">
            <br />
            <br />Password:
            <input type="password" name="passw">
            <br />
            <br />
            <input type="submit" value="Log In" />
        </form>
    </body>

</html>

..................................................... …………

OP:用户名:root密码:*

4

2 回答 2

8

禁用表单和密码存储提示并防止表单数据缓存在会话历史记录中的最简单和最简单的方法是使用带有值的自动完成表单元素属性off

Username: <input type="text" name="usern" autocomplete="off"><br /><br />
Password: <input type="password" name="passw" autocomplete="off"><br /><br />

这是完成同一件事的另一种方法,但它会禁用所有输入元素的自动完成功能,并且可能不适用于所有浏览器:

<form method="post" action="login.php" autocomplete="off">
...
</form>
于 2013-08-28T07:57:48.397 回答
1

您的用户名字段有问题

if(isset($_POST['username']));

改成

if(isset($_POST['usern']));

它永远不会进入 If 条件。

于 2013-08-28T08:04:58.987 回答