【问题标题】:Jquery, php ajax post 500 Internal Server Error returnsJquery,php ajax 发布 500 内部服务器错误返回
【发布时间】:2013-04-10 14:13:30
【问题描述】:

我对 jquery ajax & php 有一些问题。我php不好,但我必须用php创建一个登录页面。

问题是,当我尝试从服务器获取一些信息时,我得到了值的服务器错误。

这是我的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;
}

我在不同的服务器上尝试过,但没有任何改变。我只得到错误。

【问题讨论】:

  • 服务器php脚本可能出错

标签: php javascript ajax jquery


【解决方案1】:

你打错了:

$['true'] = 'true';

应该是

$a['true'] = true;

(注意 $ a

还请注意,无论您的登录是否成功,它都会始终使用 true 填充该“真实值”。查看您的 Javascript,这不是您想要的。考虑在 else 语句中将其设置为 false

【讨论】:

  • 哦,是的。我粗心。错误没有出现。你不知道为什么我可以在这个回复中找回语法错误吗? {“真”:假}
【解决方案2】:

学习基本的 php:$['true'] = 'true'; 是一个明显的语法错误。这是您的服务器 500 错误的最可能原因。

【讨论】:

    【解决方案3】:

    添加这样的字符串以查看 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);
    

    【讨论】:

      猜你喜欢
      • 2017-06-27
      • 2019-05-24
      • 1970-01-01
      • 2016-09-16
      • 1970-01-01
      • 2015-07-21
      • 2016-06-19
      • 1970-01-01
      • 2019-11-12
      相关资源
      最近更新 更多