1

如果语句由于某种原因没有运行,我在我的 html 中显示 php 的响应时遇到问题。

成功函数无法识别 PHP 回显。

jQuery

<script>
$(document).ready(function(){
$("#login").submit(function(e){
    e.preventDefault();
    $.ajax({
        type:"POST",
        url:"logincheck.php",
        data:$("#login").serialize(),
        success:function(data){
            if(data == "Niet oke"){
                $("#status").html('Wachtwoord of username onjuist');
            }
            if(data == "Oke"){
                $("#status").html('Mooi');
            }
        }
    });
});
});
</script>

HTML 文件

HTML

<form id="login">
<input type="text" name="username" placeholder="Username" />
<input type="password" name="password" placeholder="Password" />
<input type="submit" name="submit" value="Submit" />
</form>
<span id="status" style="color:black"></span>

*添加了logincheck.php 文件,添加了header 的建议。

PHP

<?php
header("Content-type: application/json");
include_once("includes/dbcon.php");
include_once("pass_system.php");
if(!empty($_POST["username"]) && !empty($_POST["password"])){
$username = $_POST["username"];
$password = $_POST["password"];

$statement = $dbconnect->prepare("SELECT * FROM login WHERE username= :username");
$statement->execute(array(":username" => $username));
while($row = $statement->fetch()){

    $salt1 = substr($row["password"], 0, 10);
    $salt2 = substr($row["password"], -10);

    if(pwhash($password, $salt1, $salt2) === $row["password"]){
        header("location: status.php");
        echo "Oke"; 
    }
}
}else{
echo "Niet oke";
}
?>
4

3 回答 3

4

打开您的 Javascript 控制台,查看您的 PHP 脚本对 AJAX 调用的响应。如果可以的话,我建议你做出 JSON 响应,并header("Content-type: application/json")在你的 PHP 脚本中添加一个。

于 2013-06-06T09:35:21.723 回答
0

name="submit"最好在里面删除,<input type="submit" name="submit" value="Submit" />因为当你发送时,也发送了submit=

标签最好用<script type="text/javascript">.

您已经加载了 Jquery 示例库:<script src="http://code.jquery.com/jquery-2.0.0.js"></script>

你的练习对我来说没有任何错误......

你能提醒或控制台记录数据响应吗?(你必须这样做)

于 2013-06-06T09:38:41.027 回答
0

如果您获得成功的响应,请尝试对响应数据使用修剪功能。

if($.trim(data) ==
于 2013-06-06T09:44:51.770 回答