私はこのサイトの同様の問題のダースの提案を検索して試しましたが、resolutonに少しだけ近づきました。セッション変数はヌルです
私はHTML & PHPから始めています。これは非常に単純なスクリプトのカップルです。
私は(私の9歳の息子をテストするための)数学的な質問で配列を設定しています。 最初のスクリプト "mathtest.php"は配列を設定し、$ _sessionグローバル変数にいくつかの変数を設定し、フォームは "mathtest1.php"に質問への回答を提出します。
"mathtest1.php"になるとMy $ _session変数が失われます。
助けてください。私はクッキーで何かできるのは分かっていますが、セッションの理解を進めたいと思っています。
ここ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>
予想通り上記のスクリプトは動作しますが、以下のスクリプトがアクセスしようとしてセッション変数I "mに対してnull値を持っているが、 。そして、使用
"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と同じラップトップにあり、外部のサーバーではありません。 セッションクッキーがONになっています ... Trans_IDがONです セッション保存パスへの書き込みアクセスは&です。
Savidが私を打つ! – Virendra
真剣に? .... できます! ...私はプログラミングがとてもリテラルであることを学んだと思います。どうもありがとう。 – Loumont
@ルーモント、これはあなたの質問に答えたので、この答えの左側にあるチェックマークを付ける必要があります。 – jlafay