コードの何が問題なのかを見つけるのに苦労しています。ところで、ブラウザにエラーはありません。問題は、ajax がデータを login.php に渡す場合、ログイン php がデータ (ユーザー名とパスワード) を認識しない場合、または ajax がデータを適切に送信しなかった場合、$_Session['username']が未定義です。
ここに私のコードがあります、
$(function(){
var user = $('#username').val();
var pass = $('#password').val();
$('#login').click(function(){
$.ajax({
type: 'GET',
url: "../ajax/login.php",
data: 'username='+user+'&password='+pass
}).success(function(data){
if(data == "Success"){
$('#error').html("Hello!");
}else{
alert(data);
$('#error').html("Hello!");
}
}).error(function(){
alert("An error occured.");
});
});
});
login.php コード
<?php
include '../library/Session.php';
include '../library/connection/Connection.php';
include '../library/Data_Cleansing.php';
$session->LoginCheckSession();
$username = $_REQUEST['username'];
$password = $_REQUEST['password'];
$username = $CleanData->stripAndSlash($username);
$password = $CleanData->stripAndSlash($password);
$sql = mysql_query("SELECT * FROM user WHERE username='$username' AND password='$password'") or die(mysql_error());
if ($sql && mysql_num_rows($sql) == 1) {
while ($row = mysql_fetch_array($sql)) {
if ($username == $row['username'] && $password == $row['password']) {
$_SESSION['username'] = $username;
echo "Success";
}
}
} else {
echo "Failed";
}
?>
誰でもこれを修正する方法についてアドバイスをもらえますか? データを警告しようとすると、「失敗」しか得られませんでした。アラート (データ);