內創建$ _SESSION失敗時,我有一個簡單的登記表和新來的人會用Ajax功能進行註冊。在註冊完成後,我創建了一個$_SESSION['is_logged']
。 在var_dumb上,我得到該var被設置。但是,當另一頁是空的重定向(我已經包括在session_start()的兩個頁面上... 我已經在網上某處讀取:
「會議只是寫在頁面加載/刷新」
是這種情況,還是我要看看我的代碼中的其他一些問題
阿賈克斯:。
$.ajax({
url:"../controllers/register.php",
type:"POST",
data:res,
success: function(responce){
if (responce==1) {
$('#msg').addClass('msg-warning');
$("#form").css('display',"none");
$('#msg').append("<p>It seems that you have already submited the form. Click to "+
" <a href='login.php'>log-in</a> or to <a href='register.php'>register</a>.</p>");
}
else if (responce==2) {
$('#msg').addClass('msg-warning');
$("#form").css('display',"none");
$('#msg').append("<p>You have successfully created account. Click to "+
" <a href='start.php'>welcome</a> to start your .</p>");
$('.menu').append("<li><a href='logout.php'>Log out</a></li>")
}
else{
$('#msg').text(responce);
}
},
error: function(){
$('#msg').text("Opss, try again");
}
});
的register.php文件:
if (isset($_SESSION['submited'])) {
echo 1;
exit;
}
include_once('../models/functions.php');
// Give the post parametters to another var
$arr=$_POST;
// function for uploading
$reg = registerMe($arr);
if ($reg === true) {
$_SESSION['submited']=1;
$_SESSION['is_logged']=1
echo(2);
}
else{
echo($reg);
}
exit;
session_start();
的被包括在所述第一頁的從AJAX其中報頭是started.And第二頁 - 其中$ _SESSION [「is_logged」]丟失,再次session_start()
;是dc_header();
函數的一部分。 start.php:
<?php
dc_header("Речник|Регистрация");
if (!isset($_SESSION['is_logged'])) {
#header("location: ../views/login.php");
var_dump($_SESSION);
}
>
請張貼Ajax代碼 – Sharky
按道理它應該工作。郵政編碼,您可以在其中設置值以及您要檢查和重定向的位置。 –
是不同子域上的重定向頁面,然後是您使用ajax調用的頁面? www.url.com和url.com被瀏覽器視爲不同的子域名,因此每個會話的會話都不相同。 –