首先,我会避免使用变量,在这种情况下它们实际上是不必要的,而且如果您不确定哪些键实际到达了脚本,它们会成为移动目标,而且由于它们创建的安全问题,它们是不好的做法。相反,我将把settings.php中的转义值放入一个数组中。然后您可以在包含settings.php之后简单地对数组进行var_dump(),并查看可用的内容。
function extract_requests(){
$res = array();
foreach ($_REQUEST as $key => $value) {
if($key){
$res[$key] = $value;
}
}
return $res;
}
其次,使用正确的url字符串手动调用login.php,这正是您希望javascript调用的内容,这样您就可以确保login.php脚本本身不会出现任何行为问题。
http://localhost/somewhere/login.php?uid=50
include("../../settings.php");
$input = extract_requests();
var_dump($input);
echo $input['uid'];
echo $_POST['uid'];
最后,我将检查您在post()中发送的数据。我不是javascript专家,但是
uid:uid,
pwd:pwd
看起来这会给我带来麻烦,所以最好确保你的数据以你期望的方式发送。
$(document).ready(function(){
$(".index_login_subm").click(function(){
uid = $("input:username").val();
pwd = $("input:password").val();
var inputData = {uid:uid, pwd:pwd};
alert(uid+" "+pwd);
// If you have a console.log() available, just use it on inputData here instead.
$.post("backend/login.php",inputData
,function(data){
alert("Returned data: " + data);
});
return false;
});
});
编辑:基于mysql-real-escape-string-only-when-a-connection-has-been-initiated,我已经从上面的代码中删除了转义,因为实际上,在将这些东西放入sql之前,最好先转义它们。
此外,请记住使用javascript登录
威尔
回来咬你一口,功能和登录一样基本和必要,你不希望javascript错误破坏浏览者登录的任何能力。就这样。