2012-04-04 4 views
0

データベース行IDは、このようなURLに関連付けられている:私は手動でのindex.phpを更新するとどのようにリンクをページ上にランダムなPHP IDをロードさせることができますか?

ページ行の2site.com/index.php?id=2

になりますランダムなレコードを表示しますが、アドレスバーにレコードIDは表示されません。

アドレスバーにIDの変更を表示しながらリンクにランダムなレコードを表示させる方法はありますか?

ありがとうございました!

答えて

1

ランダムレコードを表示するだけでなく、レコードのIDを選択し、IDを示すバージョンにリダイレクトします。

$randomId = // whatever method you use to choose it 
header("Location: http://site.com/index.php?id=$randomId"); 
+0

Kiitoksia、Juhanaを使用します。これは正常に動作します(ランダムなIDが最終的にURLバーに表示されるため)が、実行するとリダイレクトループ(310)が発生し、ページが読み込まれません。これを修正する方法を知っていますか?ありがとう! – karhu

+1

IDが指定されていない場合( '!isset($ _GET ['id'])')のみリダイレクトを実行していることを確認してください。 – JJJ

+0

ブリリアント。それは今働いている。あなたの助けをありがとう! – karhu

1

これを試してみてください:

$randomId = rand(0,100); // if let's say your post IDs go from 0 to 100 
header("Location: http://www.yourdomain.com/post.php?id=$randomId"); 
1

これを行うには、複数の方法があります。

あなたはユーフーナが言ったように、the header functionを使って言えます。これは、ページの読み込みによって別のページにリダイレクトされます。

window.historyjQuery for AJAXを使用して、HTML5を使用してページの読み込みを行わずにアドレスバーを変更することができます。

最も安全なオプションは、PHPのヘッダ機能です。ヘッダーを印刷する前に、何も印刷しないでください。場合は、まだ "ヘッダーが既に送信"を取得する場合はob_clean()

関連する問題