Post语句不返回值

时间:2014-03-16 06:52:22

标签: javascript php ajax

我在下面有一个javascript功能

function loginsubmit() {
    var url = "../php/loginsubmit.php";
    var data = "";
    ajaxRequest(url, "POST",data , true, insertNewBody);
}

然后创建我的ajax请求以发布到我的PHP代码

<?php
   session_start();

   require_once ("db.php");

   $username = $_POST['username'];
   $password = $_POST['password' ];
    echo $username;

    $query = "select * from logindetails where username='$username' and  password='$password'";
    $result = mysql_query($query);

    if(mysql_num_rows($result) == 1) {
    $row = mysql_fetch_assoc($result);
    $_SESSION['logged_in'] = TRUE;
    } else {
    $_SESSION['logged_in'] = FALSE;
    }
    mysql_close();
?>

下面的这两段代码返回一个空值,我不明白为什么?

$username = $_POST['username'];
$password = $_POST['password'];

4 个答案:

答案 0 :(得分:3)

这是因为您实际上从未在javascript中设置帖子值usernamepassword

答案 1 :(得分:2)

将数据放入data变量:

function loginsubmit() {
    var url = "../php/loginsubmit.php";
    var data = {username: 'yourusername', password: 'yourpassword'};
    ajaxRequest(url, "POST",data , true, insertNewBody);
}

答案 2 :(得分:0)

正如其他人已经澄清的那样,您不会发送数据..以下是您应该如何:

function loginsubmit() {
    var url = "../php/loginsubmit.php";
    var username = document.myLoginForm.username.value;
    var password = document.myLoginForm.password.value;
    ajaxRequest(url, "POST", {username: username, password: password}, true, insertNewBody);
}

替换&#34; myLoginForm&#34;使用表单的实际名称。此外,还有其他方法可以从输入字段中检索值,例如使用这些字段的元素ID。

答案 3 :(得分:0)

基于Ruben所说的ajax建议,您需要在登录电话中将用户名和密码传递给PHP。

$.ajax({
url : "../php/loginsubmit.php",
type: "POST",
data : {username:"theUsernameString",password:"thePasswordString"},
success: function(data, textStatus, jqXHR)
{
    //data - contains the response from server
},
error: function (jqXHR, textStatus, errorThrown)
{
   //handle the error
}
});