php 回复id同过session 任意获取id不通过a,PHP会话ID相同但变量丢失
我有一個登錄頁面,可以在成功登錄時設(shè)置會話變量。登錄頁面然后重定向到管理頁面。管理員頁面可以很好地讀取會話變量。但是,當(dāng)我做一個jQuery的load()函數(shù)加載viewUsers.php在內(nèi)容div會話變量消失了。奇怪的部分是會話ID是相同的。
我在管理頁面和viewUsers頁面上都使用了var_dump()。管理頁面顯示來自登錄頁面的所有適當(dāng)變量,但用$ _SESSION的jQuery load()函數(shù)var_dump調(diào)用的viewUsers頁面為空。 $ _COOKIE ['PHPSESSID']的var_dump雖然有合適的ID,但對我來說沒有任何意義。
這是我設(shè)置會話變量的方式。
$_SESSION['userID'] = $userInfo['ID'];
$_SESSION['userType'] = $userInfo['userType'];
$_SESSION['programID'] = $userInfo['programID'];這是jQuery
$("#content").load("viewUsers.php");所有頁面的頂部都有session_start()。當(dāng)我嘗試window.open和window.location而不是jQuery load()函數(shù)時,會話變量也不起作用。
即使我擁有正確的會話ID,一些會話變量會如何丟失。如果任何人都可以擺脫這種情況,我會非常感激!
截至目前,我正在填充隱藏的字段,并使用post函數(shù)而不是load來繞過它。我明白這不是最好的方法,但這是我能夠弄清楚如何去做的唯一方法。
編輯:
這是讀取會話變量的索引的頂部。
session_start();
//require("session.php");
if(!isset($_SESSION['userID'])){
header("location: ../login/index.php");
}
?>這里是整個視圖用戶
session_start();
//foreach($_POST as $name => $value){
//$_SESSION[$name] = $value;
//}
//echo " session id " . $_COOKIE['PHPSESSID'];
var_dump($_COOKIE);
var_dump($_SESSION);
?>
View Current Users
$('td[name="userID"]').hide();
//$("#userTable th").click(function(){
//color();
//colorTable();
//color();
//});
function colorTable(){
$("tr:odd").css("background-color", "#c0c0c0");
$("tr:even").css("background-color", "#ffffff");
}
function color(){
$("tr:odd").css("background-color", "#ffffff");
$("tr:even").css("background-color", "#ffffff");
}
$(document).ready(function(){
//colorTable();
$("#userTable").tablesorter({widgets: ['zebra']});
});
另一個編輯:
這里是加載視圖用戶的javascript代碼
我使用post的唯一原因是因為我將會話變量設(shè)置為隱藏字段以傳遞會話變量。在viewusers我使用foreach循環(huán)來設(shè)置會話變量。我知道這不安全。
函數(shù)maintainUsers(){
$.post("viewUsers.php", $("#sessionform").serialize(),function(data){
//alert(data);
$("#content").load("viewUsers.php");
});
}
總結(jié)
以上是生活随笔為你收集整理的php 回复id同过session 任意获取id不通过a,PHP会话ID相同但变量丢失的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php连接电脑,PHP_深入理解php的
- 下一篇: ckeditor java 使用,CKE