Я искал и попробовал более десятка предложений по схожим проблемам на этом сайте, но только чуть ближе к решению.
Я начинаю с HTML и PHP, так что это очень упрощенная парасценарии.
Я настраиваю массив с математическими вопросами (для проверки моего 9-летнего сына).Первый скрипт «mathtest.php» устанавливает массив и устанавливает пару переменных в глобальной переменной $ _session, а затем форма отправляет ответ на вопрос «mathtest1.php».
My $ _sessionпеременные теряются, когда я добираюсь до "mathtest1.php".
Пожалуйста, помогите.Я знаю, что могу что-то сделать с cookie-файлами, но я действительно хочу продвинуться в понимании сессий.
Вот 2 сценария:
"mathtest.php":
<?php
session_start();
?>
<html>
<title>Math Test</title>
<head>Math Test</head>
<body>
<?php
$arrayindex = 0;
for ($L = 1; $L <= 12; $L++) {
for ($R = 12; $R >= 1; $R--) {
$setupquestions[$arrayindex] = $L.'*'.$R;
$arrayindex++;
}
}
$_session["questions"] = $setupquestions;
$_session["randomkey"] = array_rand($_session["questions"],1);
?>
<form action="mathtest1.php" method="post">
What is <?php echo $_session["questions"][$_session["randomkey"]]." ?" ?>
<input type="text" name="answer">
<input type="submit" name = "submit">
</form>
</body>
</html>
Приведенный выше сценарий работает должным образом, но в приведенном ниже сценарии содержатся нулевые значения переменных сеанса, к которым я пытаюсь получить доступ и использовать.
"mathtest1.php":
<?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>
Прочие сведения: OS X, браузер Chrome, последняя версия установки PHP XAMPP и сценарии находятся на том же ноутбуке, что и XAMPP, а не на внешнем сервере. Сеансовые файлы cookie включены ... Trans_ID включен. У меня есть доступ на чтение и запись кпуть сохранения сеанса.