1

私のサイトには、ゲーム、国家、ゲーム シナリオなどでいっぱいのライブラリがあります。

library.phptype=___&が与えられますid=___

例えばlibrary.php?type=scenario&id=ABCD001

library.phpをセッション変数に保存し、idそれに適したインクルードをロードしますtype

これはすべてうまく機能します。ここで、ランダムなシナリオを引き出すオプションをユーザーに提供したいと考えました。そのために、 (インクルード)id内のロジックに特別なものを追加して、インクルードが指定された場合、実際のレコードではなくランダムレコードに対して代替クエリを実行することを認識できるようにしましたlib-scenario.phplibrary.php?type=scenario&id=randomid

これもうまく機能します...誰かがボタンを2回以上連続して押して、前のランダムなシナリオがずっとクールだと判断しない限り、私はそれに戻りたいと思います。Random Scenario

directory/library.php?type=scenario&id=random何度クリックしてもhttp アドレスは変わらないため、Random Scenario[戻る] をクリックするとすぐに、アクセスした別のアドレスの最後のページに移動します。

そのため、そのページから始めて35 回HomeヒットしRandom Scenario、34 回目が目的のものであると判断して をクリックBACKすると、ページに戻りHomeます。

これは私が予想していた問題ではなかったことを認めなければなりません。私のテスターの 1 人は、ランダム シナリオ ストリームで最初にバックアップを取りたいという衝動に駆られました。

スクリプトにバックアップ機能を追加するにはどうすればよいですか?

4

2 に答える 2

1

「ランダム シナリオ」ボタンを実際の (ただしランダムな) シナリオ ID にリンクするだけにします。シナリオのすべての ID を取得するには、おそらく SQL クエリを使用してこれを構築する必要があります。

$result = mysql_query("SELECT id FROM scenarios");
while ($row = mysql_fetch_row($result)) {
    $ids[] = $row[0];
}
$randomid = array_rand($ids);

ボタン:

<a href="directory/library.php?type=scenario&id=<?php echo $randomid; ?>Random Scenario</a>

シナリオ ID がすべて連続した数字である場合は、代わりにこれを使用できます。

$randomid = rand($min, $max);
于 2010-03-20T09:56:02.350 に答える
1

これは、シナリオの正規の URL にリダイレクトすることで解決できます。つまり、id=random は id=A92831 または選択されたものにリダイレクトします。id=random url ではなく、最終的な url が履歴に保存されます。

于 2010-03-20T09:57:17.433 に答える