我在下面有一个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'];
答案 0 :(得分:3)
这是因为您实际上从未在javascript中设置帖子值username
和password
。
答案 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
}
});