javascript - jQuery,Ajax,PHP发布错误500(内部服务器错误)

标签 javascript php jquery json ajax

我用ajax将数据发布到PHP,此代码在本地服务器上正常工作(使用XAMPP),但是当我将其上传到Web服务器时,它没有获取数据并向我显示此错误


  POST http://my_server_IP/login.php 500(内部服务器错误)


如果我将dataType从json更改为application / json并添加contentType:'application / json; charset = utf-8',

那是另一个错误


  POST http://my_server_IP/login.php 500(内部服务器错误)


但在本地计算机上工作正常,我可以使用相同的代码登录

这是我的JQuery,AJAX代码

$.ajax({
  dataType: "json",
  type: "POST",
  data: {user: sEmail, pass: sPass},
  url: "login.php",
  success:function(response){
    var a = response;
    if(a.res=='agree'){
      var st = a.role+","+a.name;
      $.cookie("imgup", st, { path: '/imgup', expires: 2 });
      window.location.href = "logged.php";
    }else if (a.res == 'error') {
      errorDisplay(a.error);
    }
  }
});


这是PHP

<?php
header('Content-Type: application/json');
require_once('inc/init.php');
require_once "helper/helper.php";
$email = sanitize($_POST['user']);
$pass = sanitize($_POST['pass']);

$sql_query = $db->query("SELECT * FROM `user_admin` WHERE `username`='$email'");
if(mysqli_num_rows($sql_query) > 0){
    $sql = mysqli_fetch_assoc($sql_query);
  if(password_verify($pass, $sql['password'])){
    $role = explode(',',$sql['role']);
    if(in_array("admin", $role)){
            echo json_encode(array('res' => 'agree', 'role' => 'admin','name' => $sql['id']));
    }elseif(in_array("editor", $role)){
        echo json_encode(array('res' => 'agree', 'role' => 'editor','name' => $sql['id']));
    }elseif(in_array("user", $role)){
        echo json_encode(array('res' => 'agree', 'role' => 'user','name' => $sql['id']));
    }
  }else{
    echo json_encode(array('res' => 'error', 'error' => 'user_pass'));
  }
}else{
    echo json_encode(array('res' => 'error', 'error' => 'user_not_exist'));
}
?>


错误日志为

PHP致命错误:在第11行的/var/www/html/login.php中调用未定义的函数password_verify(),引用者:http://__my_IP__/login_page.php

但是该功能在本地主机上工作正常!

我该如何解决此错误?

注意:sanitize是检查字符串中存在的html实体的功能

最佳答案

phpinfo()放在您的PHP代码之上,并在您的托管服务器上直接运行(而不通过AJAX)。如果您在浏览器中的屏幕上看到的PHP版本低于5.5.0,请要求您的托管服务商对其进行升级或使用其他逻辑进行密码检查。

关于javascript - jQuery,Ajax,PHP发布错误500(内部服务器错误),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42142999/

相关文章:

javascript - JQuery Ajax 调用可以工作,但不能本地 JavaScript

php - JQuery:使用 .val() 函数未更改下拉值

javascript - 在 bootstrap datepicker jQuery addClass 上单击触发器不起作用

javascript 或 jquery 仅输入文本数字并自动屏蔽

php - 如何使用 Symfony 和 RedisAdapter 在缓存中存储和读取值?

javascript - document.write 在同一页上显示内容。

php - 在 MYSQL 中插入数据之前删除多余的字符?

javascript - 如何将 iFrame 嵌入外部网站

javascript - 如何禁用缩略图的 jquery 功能

javascript - WordPress 给我提供了 404 页面未找到functions.php?