Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/271.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP脚本上的jQuery.ajax POST 500内部服务器错误_Php_Jquery_Ajax_Internal Server Error - Fatal编程技术网

PHP脚本上的jQuery.ajax POST 500内部服务器错误

PHP脚本上的jQuery.ajax POST 500内部服务器错误,php,jquery,ajax,internal-server-error,Php,Jquery,Ajax,Internal Server Error,我在向登录脚本发送ajax请求的js函数中遇到此错误。代码如下: function validateLogin(){ $(document).ready(function(){ $("#loginform").submit(function(){ $.ajax({ type: "POST", url: "./php/autologin.php", data: { 'login': $("#login").

我在向登录脚本发送ajax请求的js函数中遇到此错误。代码如下:

function validateLogin(){
  $(document).ready(function(){
    $("#loginform").submit(function(){
      $.ajax({
        type: "POST",
        url: "./php/autologin.php",
        data: {
          'login': $("#login").val(), 
          'password': $("#password").val()
        },
        dataType: "json",
        success:function(data){
          if(data.status === "success"){
            alert(data.message);
            window.location = "./userarea.html?user=".concat(data.user);
          } else if (data.status === "error"){
            alert(data.message);
          }
        },
        error:function(thrownError){
          console.log(thrownError);
        }
      }); 
      return false;
    });

  });
}
我从上面的代码中得到一个关于url的POST 500内部服务器错误 以下是chrome控制台上打印的内容:

POST http://localhost/capstone/atomos-4.0/php/autologin.php 500 (Internal Server Error) jquery-1.7.2.min.js:4
f.support.ajax.f.ajaxTransport.send jquery-1.7.2.min.js:4
f.extend.ajax jquery-1.7.2.min.js:4
(anonymous function) validateLogin.js:4
f.event.dispatch jquery-1.7.2.min.js:3
f.event.add.h.handle.i jquery-1.7.2.min.js:3
我真的不明白post错误想告诉我什么,有人能给我一个正确的方向来解决这个问题吗。如果你需要更多信息,请告诉我。谢谢

编辑:下面是有问题的php函数:
autologin.php
include './login.php';

$login = $_POST['login'];
$password = $_POST['password'];
$loginattempt = json_decode(login($login, $password));

if ($loginattempt->{'status'} === "success") {
  return json_encode(array('status' => "success", 'message' => "Login Successful!"));
  die();
} else { 
  return json_encode(array('status' => "error", 'error' => "loginfailure", 'message' => ($loginattempt -> {"message"})));
  die();
}
?>
login.php

include './login.php';

$login = $_POST['login'];
$password = $_POST['password'];
$loginattempt = json_decode(login($login, $password));

if ($loginattempt->{'status'} === "success") {
  return json_encode(array('status' => "success", 'message' => "Login Successful!"));
  die();
} else { 
  return json_encode(array('status' => "error", 'error' => "loginfailure", 'message' => ($loginattempt -> {"message"})));
  die();
}
?>
<?php

include './connnect_to_mysql.php';

function login($log, $pass) {
  $connection = json_decode(connect_to_mysql());
  if ($connection->{'status'} === "success") {
    $sqlquery = mysql_query("SELECT * FROM userdata WHERE login='$log' AND password='$pass'") or die(mysql_error());
    if (mysql_num_rows($sqlquery) == 1) {
      setcookie("user", $log, 60 * 60 * 24);
      return json_encode(array('status' => "success", 'message' => "Login Successful.", 'user' => $log));
      die();
    } else {
      return json_encode(array('status' => "error", 'error' => "loginfailure", 'message' => mysql_error()));
      die();
    }
  } else {
    return json_encode(array('status' => "error", 'error' => "connectionerror", 'message' => $connection -> {'message'}));
    die();
  }
}

?>
<?php

function connect_to_mysql() {
  $con = mysql_connect('localhost', 'user', 'pass') or die(mysql_error());
  if ($con) {
    $db = mysqli_select_db($con, 'db')or die(mysql_error());
    if ($db) {
      return json_encode(array('status' => "success", 'message' => "connected"));
      die();
    }
  } else {
    return json_encode(array('status' => "error", 'message' => mysql_error()));
    die();
  }
}

?>

修复
include./connnect_to_mysql.php'
to
include./connect_to_mysql.php':)

修复
include'/connect_to_mysql.php'
to
include./connect_to_mysql.php':)

服务器错误意味着服务器上有东西死了,没有任何东西被发回。我建议删除巨大的响应文本粘贴,它对诊断问题没有帮助,可能会阻止人们向您提问。状态500表示服务器错误,因此可能在php脚本中而不是在ajax调用中,但ajax调用可能与此有关,你能发布php源代码吗?你需要发布你的php代码,因为错误发生在服务器上。服务器错误意味着服务器上有东西死了,没有任何东西被发回。我建议删除巨大的响应文本粘贴,它对诊断问题没有帮助,可能会阻止人们向您提问。状态500表示服务器错误,因此可能在php脚本中而不是在ajax调用中,但ajax调用可能与此有关,你能发布php源代码吗?而且你需要发布你的php代码,因为错误发生在服务器上。对不起,伙计,你能发布var\u dump($\u post)吗?我想我看到了。这是我从var_dump($_POST)中得到的:数组(2){[“login”]=>string(17)“这是我的电子邮件”[“password”]=>string(13)“这是我的密码”}我更改了登录名和密码值,但我知道它们被正确输入了,这也是autologin.php中的var_dump,我假设这就是您希望它来自ok的地方,所以在
$con=mysql\u connect('localhost','user','pass')或die(mysql\u error())之后,看起来是ok的
你能做一个
打印“mysql不是500”;退出并让我知道它是否打印该行?我会说var_dump,但我不知道这是否会太多对不起,伙计,你能var_dump($\u POST)吗?我想我看到了。这是我从var_dump($_POST)中得到的:数组(2){[“login”]=>string(17)“这是我的电子邮件”[“password”]=>string(13)“这是我的密码”}我更改了登录名和密码值,但我知道它们被正确输入了,这也是autologin.php中的var_dump,我假设这就是您希望它来自ok的地方,所以在
$con=mysql\u connect('localhost','user','pass')或die(mysql\u error())之后,看起来是ok的
你能做一个
打印“mysql不是500”;退出并让我知道它是否打印该行?我会说var_扔掉它,但我不知道这是否会是太多的东西