Php 会话变量为空

Php 会话变量为空,php,forms,session,Php,Forms,Session,我在这个网站上搜索并尝试了十几条类似问题的建议,但离resoluton只有一点点距离 我从HTML和PHP开始,所以这是一对非常简单的脚本 我正在设置一个数学问题数组(用来测试我9岁的儿子)。 第一个脚本“mathtest.php”设置数组并在$\u会话全局变量中设置两个变量,然后表单将问题的答案提交给“mathtest1.php” 当我访问“mathtest1.php”时,我的$\会话变量丢失了 请帮忙。我知道我可以用cookies做点什么,但我真的想提高我对会话的理解 以下是两个脚本: “m

我在这个网站上搜索并尝试了十几条类似问题的建议,但离resoluton只有一点点距离

我从HTML和PHP开始,所以这是一对非常简单的脚本

我正在设置一个数学问题数组(用来测试我9岁的儿子)。 第一个脚本“mathtest.php”设置数组并在$\u会话全局变量中设置两个变量,然后表单将问题的答案提交给“mathtest1.php”

当我访问“mathtest1.php”时,我的$\会话变量丢失了

请帮忙。我知道我可以用cookies做点什么,但我真的想提高我对会话的理解

以下是两个脚本:

“mathtest.php”:


数学测验
数学测验
是什么
上面的脚本按预期工作,但下面的脚本对于我尝试访问和使用的会话变量具有空值

“mathtest1.php”:


试试大写!


$\u会话
应为大写。

不同于

…在PHP中区分大小写:

$foo = 1;
$Foo = 2;
$FOO = 3;
var_dump($foo, $Foo, $FOO);


这同样适用于,包括。

认真地说?…它很有效!…我想我已经学会了编程是非常文字化的。非常感谢。@Loumont,既然这回答了你的问题,你应该在这个答案的左边打勾。谢谢你的提示。我正在寻找如何关闭它,但那是不可能的。我将c勾选复选标记:)
<?php
session_start();
?>
<html>
<body>

<?php

if(isset($_POST['submit']))
{
    $answer = $_POST['answer'];
    $result = eval("return $_session[questions]$_session[randomkey];");
    echo "result = ".$result."<br />";
    if ($answer == $result) {
        echo "Correct!!";
    }
    else {
        echo "WRONG!!";
    }
}

$_session["randomkey"] = array_rand($_session["questions"],1);

?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>">
   What is <?php echo $_session["questions"][$_session["randomkey"]]." ?" ?>  
    <input type="text" name="answer">
    <input type="submit" name = "submit">
</form>


</body>

</html>
$_SESSION
function bar(){
}

function Bar(){
}
Fatal error: Cannot redeclare Bar() (previously declared in C:\tmp\test.php:3) in C:\tmp\test.php on line 7
$foo = 1;
$Foo = 2;
$FOO = 3;
var_dump($foo, $Foo, $FOO);
int(1)
int(2)
int(3)