php 回复id同过session 任意获取id不通过a,PHP会话ID相同但变量丢失
我有一个登录页面,可以在成功登录时设置会话变量。登录页面然后重定向到管理页面。管理员页面可以很好地读取会话变量。但是,当我做一个jQuery的load()函数加载viewUsers.php在内容div会话变量消失了。奇怪的部分是会话ID是相同的。
我在管理页面和viewUsers页面上都使用了var_dump()。管理页面显示来自登录页面的所有适当变量,但用$ _SESSION的jQuery load()函数var_dump调用的viewUsers页面为空。 $ _COOKIE ['PHPSESSID']的var_dump虽然有合适的ID,但对我来说没有任何意义。
这是我设置会话变量的方式。
$_SESSION['userID'] = $userInfo['ID'];
$_SESSION['userType'] = $userInfo['userType'];
$_SESSION['programID'] = $userInfo['programID'];这是jQuery
$("#content").load("viewUsers.php");所有页面的顶部都有session_start()。当我尝试window.open和window.location而不是jQuery load()函数时,会话变量也不起作用。
即使我拥有正确的会话ID,一些会话变量会如何丢失。如果任何人都可以摆脱这种情况,我会非常感激!
截至目前,我正在填充隐藏的字段,并使用post函数而不是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的唯一原因是因为我将会话变量设置为隐藏字段以传递会话变量。在viewusers我使用foreach循环来设置会话变量。我知道这不安全。
函数maintainUsers(){
$.post("viewUsers.php", $("#sessionform").serialize(),function(data){
//alert(data);
$("#content").load("viewUsers.php");
});
}
总结
以上是生活随笔为你收集整理的php 回复id同过session 任意获取id不通过a,PHP会话ID相同但变量丢失的全部内容,希望文章能够帮你解决所遇到的问题。
- 上一篇: php连接电脑,PHP_深入理解php的
- 下一篇: 帝国cms 多个php,帝国cms多值字