Во-первых, я бы избегал переменных переменных, они на самом деле не нужны в этом контексте, и они создают движущуюся цель, если вы не уверены, какие ключи на самом деле достигают этого скрипта, и это плохая практика из-за проблемы безопасности, которые они создают. Вместо этого я бы поместил экранированные значения в settings.php в массив. После этого вы можете просто добавить массив var_dump () после включения settings.php и посмотреть, что было доступно.
function extract_requests(){
$res = array();
foreach ($_REQUEST as $key => $value) {
if($key){
$res[$key] = $value;
}
}
return $res;
}
Во-вторых, вручную вызовите login.php с правильной строкой url, именно то, что вы хотели бы, чтобы 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-only-когда-соединение-было инициировано, я удалил экранирование из приведенного выше кода, потому что на самом деле вам будет лучше избежать экранирования прямо перед тем вы положили его в sql.
Кроме того, имейте в виду, что при использовании javascript для входа в систему WILL вернется, чтобы укусить вас, с функциональностью, такой же базовой и необходимой, как вход в систему, вы не хотите, чтобы ошибка javascript нарушала любые зритель, чтобы войти. Здесь это будет сделано.