0

ページ1:

session_start();
$_SESSION['allCaps']=array("img01.png", "img02.png"...);  // 20 images

ページ2:

shuffle($_SESSION['allCaps']);
$_SESSION['fiveCaps'] = array_slice($_SESSION['allCaps'], 0, 5);
foreach ($_SESSION['fiveCaps'] as $key=>$val)
echo $key." ".$val;   // result - five img.names - remember this

ページ3:

session_start();
shuffle($_SESSION['fiveCaps']);
foreach ($_SESSION['fiveCaps'] as $key=>$val)
echo $key." ".$val;   // result - five img. names - remember this

もちろん、要素の順序を除いて、2つの結果は常に同じであると予想しています(ページ3のシャッフルのため)。
しかし、結果が同じである場合もあれば、(ページ3をリロードした後)-
ページ2に存在しない要素がページ3に表示されない場合もあります

4

2 に答える 2

1

試してみましたが、問題はありませんでした。3 ページ目でセッションを再開しようとしていることが原因だと思います。次の行を削除します。

session_start();

3ページで、うまくいくかどうか教えてください。:)

于 2012-08-12T04:51:44.490 に答える
1

3 ページから次の行を削除します。

session_start();

また、Web サーバーが再起動されたため、セッションが失われる場合があることに注意してください。

于 2012-08-12T04:44:53.377 に答える