• ベストアンサー

ブラウザの戻るでPHPが動いてしまう

PHPのshuffleを使ってページを作ったのですが、 ブラウザで戻ると再度shuffleされてしまいます。 目的の項目を見失ってしまって不便なので、 metaタグなどでキャッシュをきちんと設定したのですがやっぱりダメです。 どうしたらブラウザの戻るボタンでキャッシュが効かせる事ができますでしょうか。

noname#225112
noname#225112
  • PHP
  • 回答数3
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

一度シャッフルしたらセッション変数に並び順を記録しておき リファラが同ドメインかつそのセッション変数がある場合はそれを使って並べる リファラが同ドメインでない場合は再度シャッフルして 並び順のセッション変数を上書きする

noname#225112
質問者

お礼

一度こちらで保持しないといけなかったのですね!具体的な方法がわかって助かりました。やってみようと思います。ありがとうございました!

その他の回答 (2)

回答No.3

前画面にPOSTデータがあるとか、URL中に? があると、再読み込みしてしまいますよ。

  • kichi8000
  • ベストアンサー率41% (658/1581)
回答No.1

ページがさらに進んでしまうとブラウザバックに意味はなくなりませんか。 だとしたら、ブラウザバックは禁止して他の方向でいきましょう。

関連するQ&A

  • .phpがブラウザで表示されない

    携帯サイトを作成したのですが、PCのブラウザで確認できないので少し不安です。 広告をいれたいため拡張子は.phpで作りました。 携帯では問題なく確認できるのですが、PCでアドレスを入力して確認しようとすると「このファイルを保存しますか、または開くためのプログラムをオンラインで検索しますか?」というポップアップウインドウが表示されて、PCでは確認することができない状態です。 タグは以下に記載します。 どなたか解決法がわかるかた教えて頂けないでしょうか? <?php header('Content-Type: application/xhtml+xml; charset=Shift_JIS'); echo '<?xml version="1.0" encoding="Shift_JIS"?>'."\n" ?> <!DOCTYPE html PUBLIC "-//WAPFORUM//DTD XHTML Mobile 1.0//EN" "http://www.wapforum.org/DTD/xhtml-mobile10.dtd" > <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=Shift_JIS" /> <meta http-equiv="pragma" content="no-cache" /> <meta http-equiv="cache-control" content="no-cache" /> <meta http-equiv="expires" content="-1" /> <title>趣味のページ</title> </head>

    • ベストアンサー
    • PHP
  • ブラウザの自動更新について

    ブラウザの自動更新について質問させていただきます。 <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="expires" content="以前の時間"> 古いキャッシュを読まずにブラウザに新しいページを読みたい時、上のブラウザごとに異なる?3種類の対応方法があるかと思いますが、これらは適切な方法でしょうか。 例えばyahooのトップページは上の方法を使わずに自動更新しているようですが、上記のmetaは埋め込まれていませんでした。また他の多くのポータルサイトもそうでした。どのように自動更新しているのでしょうか。 どのようにすれば、更新ボタンを押さずに更新できるのか、また自動更新の際、上記のmetaを使ったほうがいいのか、それともyahooのように別の方法を使ったほうがいいのか、教えていただけないでしょうか。 初心者の質問で、質問内容が乱れてしまいましたが、どうぞよろしくお願いいたします。

  • php4のセッション機能とブラウザのキャッシュについて

    はじめまして 今 php4でプログラムを書いているのですが、セッション機能 と ブラウザのキャッシュの関係について教えてくれませんか? php4では、ブラウザ(クライアント)にキャッシュを可能に するかどうかという設定が ありますが、 キャッシュを可能にしない場合は、ブラウザで[戻る]を 選択すると キャッシュの期限が切れているとエラー表示され ます。次に キャッシュを可能にした場合は、上記のような エラーはでないのですが、一度 操作した部分に対して ブラウザのキャッシュが 効いてしまい、セッションファイル を使用できなくなります。 この問題を解決するには、セッション機能とブラウザのキャッシュ の関係について学習すればいいと思うのですが、いい資料 がありません。どうか 教えて下さい。 では 失礼します。

    • 締切済み
    • PHP
  • phpのページが更新されない

    昨日くらいから急に変な症状が発生しています。 サーバはホスティング会社のVPSです。 phpで作成してアップ/更新したページが、 ブラウザで何度読み込んでも更新箇所が反映されないのです。 これはあらゆるブラウザで試しましたし、 ブラウザキャッシュのクリアも行いましたが、 一向に反映されることがありません。 もちろんsession.cache_limiterはnocacheの設定で、 clearstatcacheなども試しましたがアウトです。 唯一更新される方法としては、 一度、ページデータを削除して、 404のページがない状態で一度読み込ませてから、 再度ページデータをアップして、再読み込みさせれば、 ようやくページが反映されるという状況です。 これは何に問題があるのでしょうか? サーバの問題であれば、apache/php等は触れないので、 サーバ会社にも問い合わせる必要があります。

    • ベストアンサー
    • PHP
  • IE以外のブラウザでキャッシュを無効にする方法

    どうもこんにちは。今サーブレットで学習塾の生徒名簿管理のプログラムを模擬で作っているんですが、キャッシュの処理で困っています・・。 JSPのファイルには Calendar objCal1=Calendar.getInstance(); Calendar objCal2=Calendar.getInstance(); objCal2.set(1970,0,1,0,0,0); response.setDateHeader("Last-Modified",objCal1.getTime().getTime()); response.setDateHeader("Expires",objCal2.getTime().getTime()); response.setHeader("progma","no-cache"); response.addHeader("Cache-Control","no-store"); response.setHeader("Cache-Control","no-cache"); という記述をしています。HTMLのMETAタグにも <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="0"> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> という記述をしています。これでIE(Internet Explprer)ではきちんと有効になって、たとえばログイン認証を必要とするページからログアウトした後、ブラウザの戻るボタンで戻っても前のページは表示できないようになります。 ばんざ~~~いと思ってたら・・・、それ以外のブラウザ、たとえばFireFox(2.0)、Netscape(7.1)、Opera(9.0)などでは表示されてしまいます・・・。何かこれらのブラウザでも有効にできる対策はあるのでしょうか。いろいろ調べてみたけど見つかりません。どなたかご教授をお願いいたします!

    • ベストアンサー
    • Java
  • ブラウザの戻るができないようにしたい

    ページ内はHTMLファイルですが、そのページのiframe内にperlで動的ページを表示させています。 クリック自体はifream内の動的ページですが、ページのキャッシュが残っているらしく、ブラウザの戻るが有効になります。 戻るができないようにしたいのですが何か良い方法はありますか? 以下、効果はありませんでした。 ファイル1 test.html <html> <head> <title>HTML</title> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="Fri, 31 Dec 2004 23:59:59 GMT"> </head> <body> <ifream src="test.cgi"></ifream> </body> </html> ファイル2 test.cgi print "Content-type: text/html\n"; print "Pragma: no-cache\n"; print "Cache-Control: no-cache\n"; print "Expires: Thu, 01 Dec 1994 16:00:00 GMT\n\n"; print <<EOT; <html> <head> <title>CGI</title> <meta http-equiv="Pragma" content="no-cache"> <meta http-equiv="Cache-Control" content="no-cache"> <meta http-equiv="Expires" content="Fri, 31 Dec 2004 23:59:59 GMT"> </head> <body> <a href="test.cgi">sample</a> </body> </html> EOT exit;

    • ベストアンサー
    • Perl
  • IEでブラウザにキャッシュをさせないようにするには?

    更新頻度の多いホームページを公開したいのですが、IEだとブラウザがキャッシュをしてしまって、常に最新の情報を表示させることができません。 <META HTTP-EQUIV="Pragma" CONTENT="no-cache"> <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache"> <META EQUIV="Expires" CONTENT="-1"> これをやっても効かないのです。。 IEのホームページを見ると、IEではこのタグは無視されます、と書いてありました。。 YAHOO!などのポータルサイトは更新されるわけですから、方法はあるのだと 思うのですが、具体的にはどういった方法があるのでしょうか?

  • ブラウザの「戻る」で 

    もし過去に同じ質問があったらすみません。 この「教えて!goo」で質問を閲覧した後、ブラウザの「戻る」ボタンを押すと「ページが表示できません」と毎回出てしまいます。 単語を検索して閲覧する時のみの現象なのですが、ちょっと不便に思っています。これって設定などで何とかならないのでしょうか??回答お願いします。

  • IEのファイルキャッシュついて

    WEBページ上にファイル(exeやpdfファイルなど)を置いて公開してるのですが、 ブラウザで意図的に保存したとき以外に、ファイルをローカルに存在させないようにする設定はあるのでしょうか? METAタグでページのキャッシュはしないようにできることはわかったのですが、 ファイルのキャッシュコントロールは不可能なのでしょうか。 ご存知の方よろしくお願いいたします。

    • ベストアンサー
    • CSS
  • phpのみエラーになる

    申し訳ありません。先ほどの質問に環境などを書くのをわすれましたので、再度送信します。 Webサーバをインストールしなおしたのですが、htmlは、正常に読めるのですが、phpファイルにアクセスすると、「ページが見つかりません(サーバーが見つからないか、DNS エラーです。)」となってしまいます。もちろん、phpファイルは存在します。 どこかの設定が間違っているのだと思うのですが、どこを確認すればよいでしょうか? 環境:Linux(RedHad)+Apache2+PHP5+Oracle10g 少し確認が進んで、ローカルでは、phpは実行します。 phpinfoも出力されました。 ただ、やはりブラウザから行うとダメです。 Apacheの設定っぽいので、調べてみます。

    • ベストアンサー
    • PHP

専門家に質問してみよう