2017-01-27 26 views
0

$ _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設定やコードに問題があるかどうかはわかりません。

+0

にこのコードを試してみてください。例えば ​​'print_r($ _ SESSION ['0')' '、' $ _ SESSION ['0']);は分かりません。 –

+0

ブラウザの開発者ツールを使用して、セッションID Cookieが変更されているかどうかを判断します。セッションディレクトリをチェックして、ファイルが生成され、データが含まれているかどうかを確認します。 –

+0

@AntonisTsimourtos print_r($ _ SESSION)はホール配列を出力する必要があります... –

答えて

0

あなたは `$ _SESSION`を印刷しているpageTwo.php``に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); 
関連する問題