$ _SESSIONを使用して、PHPでランダムに生成された数値をあるページから別のページに移動しようとしています。 2番目のページにある私はprint_r($_SESSION)
のたびに配列が空に戻ります。しかし、最初のページにあるprint_r($_SESSION)
には、スクリプト全体で追加されたすべてのデータが表示されます。
ここで私が持っているコードです:
pageOne.php
<?php session_start(); ?>
<!-- Some HTML -->
<?php
$counter = 0;
while (counter <= 9) {
genData($counter);
$counter++;
}
// genData function
function genData($count) {
$number = rand(1, 10);
$_SESSION[$count] = $number;
}
// print_r() to check data has been added
print_r($_SESSION);
?>
pageTwo.php
<?php
session_start();
// print_r to make sure data has been carried forward
print_r($_SESSION);
// unset and destroy session
session_unset();
session_destroy();
?>
pageOneにしますprint_r()からの出力は次のようになりますが、 :
アレイ([0] => 0 4] => 5 [6] => 6 [7] => 7 [8] => 8 [ 9] => 9)
それはちょうどこのだろうpageTwoのに対し:私はPHP 7.1.0を使用し、ローカルPHPをホスティングしてきた
アレイ()
私はまた、c9.ioとXAMPPでこれを試しましたが、私はまだ同じ問題を抱えています。セッションIDもチェックしていて、常に同じです。
私のPHP設定やコードに問題があるかどうかはわかりません。
にこのコードを試してみてください。例えば 'print_r($ _ SESSION ['0')' '、' $ _ SESSION ['0']);は分かりません。 –
ブラウザの開発者ツールを使用して、セッションID Cookieが変更されているかどうかを判断します。セッションディレクトリをチェックして、ファイルが生成され、データが含まれているかどうかを確認します。 –
@AntonisTsimourtos print_r($ _ SESSION)はホール配列を出力する必要があります... –