好的这个定时会话对我来说是新的,我创建了一些测试代码。这是发布会话开始的表单:
<?php
echo '<form action="index2.php?content=merc_script" method="post">';
echo '<input type="radio" name="Archer" value="1"">';
echo '<input type="submit" value="Hire Archer">';
echo '</form>';
?>
这是测试代码:
if(isset($_POST['Archer'])){
$archer = ini_set("session.cookie_lifetime","3600");
echo "Your Cookie is set!";
echo "$archer";
exit();
}
else{
echo "The Cookie was NOT set";
}
此代码生成会话,或者说: 您的Cookie已设置!0 这是我使用它的代码,其中是一个战斗脚本:
<?php
if(isset($_SESSION["Archer"])){
echo "The Archer is with you";
exit;
}
else{
echo "You have no Mercenary to help You!";
}
?>
当我去打怪物时,它说: 你没有雇佣兵来帮助你! 有人可以解释一下如何正确地做到这一点吗?
我编辑过这篇文章是因为我感到困惑。我有一个全局session_start();在我调用的每个脚本中包含的头文件中。我已经尝试了所有的建议,似乎仍然无法找到答案,如果我这样做会让任何人感到不安,我只是想找到一个解决方案。
答案 0 :(得分:0)
一句建议,你正在做任何会话类型的东西(实际上只是这样做),在你的文件session_start;
中做出第一个声明,即:
<?php
session_start;
// other stuff here
?>
如果一个会话尚不存在,则启动会话,如果存在,则使用现有会话。
答案 1 :(得分:0)
会话开始需要括号,否则php会将其误认为常量。
session_start();
$key = 'my_key';
// check to see if session variable is set
if(isset($_SESSION[$key])){
$val = $_SESSION[$key];
echo "Key is set. The value is: $val";
}else{
// not set, setting a session variable at a specific key
$_SESSION[$key] = 'Some Value';
}