0

我是 PHP 新手,我只想为在线图片库创建一个密码表单。出于某种原因,即使我输入设置的密码,PHP 也会回显“否”。请帮助我了解我的脚本出了什么问题。

<body>
    <div class="main-img">
        <img src="images/img/main.jpg" />
    </div><!-- END OF MAIN-img -->
    <form id="myform" method="post">
        <input type="text" name="password" placeholder="Enter the password" />
        <input name="button" type="submit" value="Go!" id="submit"></input>
    </form>

    <?php 
        require("other.php");
        if(isset($_POST['button'])) {
            checkpassword();
            return;
        }
    ?> 
    <div id="ask"></div>
</body>
</html>

这是我的 PHP 代码:

<?php
function checkpassword() {
    $pass = mysql_real_escape_string($_POST['password']);
    if($pass == "password123") {
        echo("YES");
        exit;
    } else {
        die("NO");
        }
}
?>
4

3 回答 3

3

不要检查 mysql_real_escape_string 的结果。当针对数据库反弹用户提供的数据时使用此函数。

于 2013-06-03T19:54:37.687 回答
2

您在mysql_real_escape_string没有先连接到数据库的情况下使用。您只需要在进行数据库查询时使用它。

所以,就做吧if($_POST['password'] == 'password123')

于 2013-06-03T19:57:02.463 回答
1

您需要对代码进行一些修改:

HTML 文件:

<?php 
    require("other.php");
    if(!empty($_POST) && isset($_POST['password'])) {
        $pass = $_POST['password'];
        checkpassword($pass);
    }
?>

PHP 文件:

<?php
    function checkpassword($pass) {
        if($pass == "password123") {
            echo "Yes";
            exit;
        } else {
            die("NO");
        }
    }
?>

看看这对你有没有帮助。

于 2013-06-03T20:00:43.283 回答