簡體   English   中英

AJAX沒有從php返回結果

[英]AJAX not returning result from php

我試圖從在線的一個例子中學習,使用php和jquery的登錄表單,我使用完全相同的例子,但由於某種原因,AJAX沒有得到任何回報,但重定向到另一個PHP。 這是我一直在嘗試和問題的鏈接。

http://rentaid.info/Bootstraptest/testlogin.html

它應該得到結果並將其顯示在同一頁面上,但它會將我重定向到另一個空白的php,其結果就是它。 謝謝你的時間,我提供了我所擁有的所有代碼,我希望這個問題不是太愚蠢。

HTML代碼

<!DOCTYPE HTML>
<html>
    <head>
    </head>
    <body>
        <form id= "loginform" class="form-horizontal" action='http://rentaid.info/Bootstraptest/agentlogin.php' method='POST'>
            <p id="result"></p>
            <!-- Sign In Form -->
            <input required="" id="userid" name="username" type="text" class="form-control" placeholder="Registered Email" class="input-medium" required="">
            <input required="" id="passwordinput" name="password" class="form-control" type="password" placeholder="Password" class="input-medium">
            <!-- Button -->
            <button id="signinbutton" name="signin" class="btn btn-success"  style="width:100px;">Sign In</button>
        </form>
        <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script type="text/javasript" src="http://rentaid.info/Bootstraptest/test.js"></script>
    </body>
</html>

使用Javascript

$("button#signinbutton").click(function() {
    if ($("#username").val() == "" || $("#password").val() == "") {
        $("p#result).html("Please enter both userna");
    } else {
        $.post($("#loginform").attr("action"), $("#loginform:input").serializeArray(), function(data) {
            $("p#result").html(data);
        });
        $("#loginform").submit(function() {
            return false;
        });
    }
});

PHP

<?php
ini_set('display_errors', 1);
error_reporting(E_ALL);
ob_start();
session_start();
include 'connect.php';
//get form data
$username = addslashes(strip_tags($_POST['username']));
$password = addslashes(strip_tags($_POST['password']));
$password1 = mysqli_real_escape_string($con, $password);
$username = mysqli_real_escape_string($con, $username);
if (!$username || !$password) {
    $no = "Please enter name and password";
    echo ($no);
} else {
    //log in
    $login = mysqli_query($con, "SELECT * FROM Agent WHERE username='$username'")or die(mysqli_error());
    if (mysqli_num_rows($login) == 0)
        echo "No such user";
    else {
        while ($login_row = mysqli_fetch_assoc($login)) {

            //get database password
            $password_db = $login_row['password'];

            //encrypt form password
            $password1 = md5($password1);

            //check password
            if ($password1 != $password_db)
                echo "Incorrect Password";
            else {
                //assign session
                $_SESSION['username'] = $username;
                $_SESSION['password'] = $password1;
                header("Location: http://rentaid.info/Bootstraptest/aboutus.html");
            }
        }
    }
}
?>

編輯

$("button#signinbutton").click(function(){

    if($("#username").val() ==""||$("#password").val()=="")
$("p#result).html("Please enter both userna");
  else


    $.post ($("#loginform").attr("action"),
        $("#loginform:input").serializeArray(),
    function(data)  {
$("p#result).html(data);  });  




});
 $("#loginform").submit(function(){
    return false;
});

首先,刪除: -

header("Location: http://rentaid.info/Bootstraptest/aboutus.html");

如果要顯示數據,請回顯用戶名和密碼。

$_SESSION['username'] = $username;
$_SESSION['password'] = $password1;
echo $username."<br>".;
echo $password1;

您被重定向的原因是您也在調用$ .submit。 經典表單提交會將您重定向到新頁面,這正是您在使用AJAX時不想要的。 如果您刪除此電話:

$("#loginform").submit(function() {
    return false;
});

你可能應該有工作的解決方案。 如果沒有,請告訴我:)

修改你的javascript部分,以便

$("button#signinbutton").click(function() {
    if ($("#username").val() == "" || $("#password").val() == "") {
        $("p#result).html("Please enter both userna");
    } else {
        $.post($("#loginform").attr("action"), $("#loginform:input").serializeArray(), function(data) {
            $("p#result").html(data);
        });
    }
});

$("#loginform").submit(function() {
    return false;
});

在函數調用之外。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM