ログインスクリプトに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でPOST500内部サーバーエラーが発生しました。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
投稿エラーが私に何を伝えようとしているのか本当にわかりません。誰かが私にこれを解決するための正しい方向へのナッジを与えることができますか。さらに情報が必要な場合はお知らせください。ありがとう
編集:ここに問題の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
:
<?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();
}
}
?>
編集2
connect_to_mysql.php
::
<?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();
}
}
?>