jquery,php ajax后500内部服务器错误返回
问题描述:
我有一些问题,jQuery的ajax & PHP。我不擅长于PHP,但我必须使用php创建一个登录页面。jquery,php ajax后500内部服务器错误返回
问题是,当我试图从服务器获取一些信息时,我得到了服务器错误的值。
这里是我的PHP代码(如果有人知道更好的方法来创建服务器端登录,请指正):
<?php
//$link = mysql_connect('localhost', 'root', '') or die('A kapcsolódás nem sikerült: '+mysql_error());
$link = mysql_connect("127.0.0.1", "qm", "soR624gA") or die("Nem sikerült kapcsolódni az adatbázishoz!"+mysql_error());
mysql_query("SET NAMES UTF8");
mysql_select_db("qm", $link);
$uname = mysql_real_escape_string($_POST['name']);
$pass = mysql_real_escape_string($_POST['pass']);
$fetch = mysql_query("SELECT * FROM felhasznalok WHERE nev ='{$uname}' AND jelszo = Sha1('{$pass}')") or die(mysql_error());
if (mysql_num_rows($fetch) == 1) {
$a = array();
$['true'] = 'true';
echo json_encode($a);
}else{
$a = array();
$['true'] = 'true';
echo json_encode($a);
}
?>
这里是登录的客户端代码:
function handleLogin(){
var _url = preUrl + "login.php";
var name = $("#loginForm #name").val();
var pass = $("#loginForm #pass").val();
$.ajax({
type: 'POST',
url: _url,
data: {name: name, pass: pass},
dataType: 'jsonp',
beforeSend: function(){
if((!name) || (!pass)){
notify('error','Kérlek tölts ki minden adatot!');
return false;
}else{
$("#loginForm #loginBtn").prop("disabled", true);
}
},
success: function(data){
if(data[0].true == 'true'){
window.localStorage["username"] = name;
window.localStorage["password"] = pass;
$.mobile.changePage("#wall",{transition:"slide", reverse:false});
}else{
$('#loginForm #name').val("");
$('#loginForm #pass').val("");
notify('error','Hibás adatok!');
}
},
error: function(err){
//átírni ha a cordovajs be lesz szúrva!!!
alert('Hiba: '+err.message);
}
});
$("#loginForm #loginBtn").prop("disabled", false);
return false;
}
我试过了不同的服务器上,但什么都没有改变。我只会得到错误。
答
你犯了一个错字:
$['true'] = 'true';
或许应该
$a['true'] = true;
(注意$ 一个)
另外请注意,无论您的登录会成功与否,将始终填充该'真实值'true。看着你的Javascript,这不是你想要的。考虑在你的else语句中将其设置为false。这样
+0
喔错误,是的。我粗心。错误没有出现。你不知道为什么我可以在这个回应中找回语法错误吗? {“true”:false} – 2013-04-10 14:23:32
答
学习基本php:$['true'] = 'true';
是一个扁平的语法错误。这是您的服务器500错误最可能的原因。
答
添加字符串看到你的PHP脚本错误:
error_reporting(E_ALL);
ini_set('error_log', 'path_to_log_file');
ini_set('log_errors_max_len', 0);
ini_set('log_errors', true);
它可以在服务器的PHP脚本 – Victor 2013-04-10 14:15:18