ログイン登録機能を備えた Web サイトで作業しています。参照とフォーラムのヘルプを使用してログイン登録部分を実装しましたが、現在、PHP セッションで問題に直面しています。これは私の ajax フォーム送信です。
$.ajax({
type: "POST",
url: "userLogin.php",
data: "eid="+eid+"&pwd="+pwd+"&rememberme="+remember,
dataType: "html",
success: function(msg){
if($.trim(msg)!="error")
{
$("#user_status", window.parent.document).html("Welcome "+msg+" | <a href='forum/logout.php'>Logout</a>");
if(window.parent.document.getElementById('post_user_name'))
$("#post_user_name", window.parent.document).html("<strong style='color:#333333;'>"+msg+"</strong>");
parent.$.fancybox.close();
}
else{
$('#error_common').html("Invalid ID or password.Please try again");
$('#error_common').show();
return false;
}
}
});
これはPHPコードです:
if(isset($_POST['eid']) && isset($_POST['pwd']))
{
$userObj = new Model_Users();
$username= return_fetched_value($_POST['eid']);
$password= md5(return_fetched_value($_POST['pwd']));
$getUserDetails = $userObj->getUserValueByUserNameAndPassword($username,$password);
/*print_r($getUserDetails);
exit;*/
if(count($getUserDetails)>0)
{
$_SESSION['username'] = $getUserDetails['uname'];
$displayUser=$getUserDetails['uname'];
echo $displayUser;
}
else
{
//echo "entered here";
echo "error";
}
}
else
{
$errorMessage = "You have entered invald username password" ;
}
すべて正常に動作し、ユーザーがログインしてログイン ページでユーザー名を取得します ( http://www.proptiger.com/ )。ページを更新するとユーザー名は消えますが、セッションにはまだ存在します。print_r($_SESSION)を実行するかどうかを確認してください。ユーザー名は、jquery ajax 部分を使用して設定されています。
$("#user_status", window.parent.document).html("Welcome "+msg+" | <a href='forum/logout.php'>Logout</a>");
これは永続化されていないと思いますが、まだセッションに残っています.私はjquery ajaxを初めて使用し、これで立ち往生しています.建設的なコメントは役に立ちます. ありがとう