如何查看是否设置了php会话?

时间:2017-02-08 21:15:04

标签: php session

好的这个定时会话对我来说是新的,我创建了一些测试代码。这是发布会话开始的表单:

<?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();在我调用的每个脚本中包含的头文件中。我已经尝试了所有的建议,似乎仍然无法找到答案,如果我这样做会让任何人感到不安,我只是想找到一个解决方案。

2 个答案:

答案 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';
}