1
jquery ajaxを使用してlogginでセッションを設定していますが、何らかの理由でajaxの目的に反するページを更新しない限りセッションが設定されません。私はこれを解決する方法を知りません。ここに私のコードです: $( "#のサインインは")をクリックします(関数(){ するvarメール= $( "#のloginemail")のattr( '値');jquery ajaxの問題を使用してセッションを設定する
var password=$("#loginpassword").attr('value');
if(email==""&&password=="")
{
$("#loginemail").animate({backgroundColor:"red"},4000);
$("#loginpassword").animate({backgroundColor:"red"},4000);
return false;
}
if(email=="")
{
$("#loginemail").animate({backgroundColor:"red"},4000);
return false;
}
if(password=="")
{
$("#loginpassword").animate({backgroundColor:"red"},4000);
return false;
}
if(email!=""&&password!="")
{
var loginemail=$("#loginemail").attr('value');
var loginpassword=$("#loginpassword").attr('value');
$.post("phpfiles/loginvalidation.php",{loginemail:loginemail,loginpassword:loginpassword},function(data){
if(data.success)
{
$("#theuser").html(data.loggedinuser);
$("#loginerror").html("<p>You are logged in.</p>").slideDown();
$("#SignUpandIn").fadeOut();
}
else
{
$("#loginerror").html("<p>Wrong email or password.</p>").slideDown();
}
},'json');
return false;
}
});
PHP:。。
あなたは、それが配列でcomplemetedされることを期待するので、AJAX呼び出しが完了されることを保証コールバックであなたのロジックを持つことはできませんので<?php
require_once('../Connections/gamesRusconn.php');
error_reporting(E_ALL^E_NOTICE);
if(!isset($_SESSION))
{
session_start();
}
mysql_select_db($database_gamesRusconn, $gamesRusconn);
$emailaddress=$_POST['loginemail'];
$password=$_POST['loginpassword'];
$hashedPassword=$password;
//This query compares login details entered by user against the details in the database.
$loginSQL=mysql_query("SELECT * FROM customers WHERE EmailAddress='".$emailaddress."' AND CustPassword='".$hashedPassword."'",$gamesRusconn) or die(mysql_error());
$customers=mysql_fetch_assoc($loginSQL);
$loginrows=mysql_num_rows($loginSQL);
$activeSQL=mysql_query("SELECT * FROM customers ",$gamesRusconn) or die();
if($loginrows>0)
{
$fullname=$customers['FirstName']." ".$customers['Surname'];
$email=$customers['EmailAddress'];
$_SESSION['loggedInName']= $fullname;
$_SESSION['username']=$email;
$data['success']=true;
$data['loggedinuser']=$fullname;
}
elseif($loginrows==0)
{
$data['success']=false;
}
echo json_encode($data);
?>
意味がありますが、PHPでjavascriptのように見えるので、コールバックメソッド内で$ _SESSION変数をどのように割り当てるのでしょうか。少し光を照らしてください。 – John