• ベストアンサー

ブラウザの戻る ページ遷移PHP処理

ブラウザの戻るボタンを押下されたときの、SESSION変数の処理について考えています ページが遷移する前に処理を行うということはできますか?

  • HKKMR
  • お礼率89% (120/134)
  • PHP
  • 回答数1
  • ありがとう数2

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

  • ベストアンサー
  • mizutaki
  • ベストアンサー率33% (111/333)
回答No.1

質問者さんの考えているようなことは無理ですが、対策は出来ます。 まぁ、何種類か対策はありますし、ある程度強固なものにしようと思ったら手間がかかりますけど、 基本的なところは a.php → b.php と移行させたい場合、 a.phpに入った瞬間にセッションにa.phpと書き込む。 aからbに移動したら、 セッション===a.phpである事を確認して、b.phpと上書きする。 こんな感じでOK b.phpに入ったところでセッションの保持しているものを確認すれば、 戻るボタンを押したかどうかを確認することが出来ます。 と、基本はこんなところですね

HKKMR
質問者

お礼

<質問者さんの考えているようなことは無理です ・・・残念です しかし、他の解決策が分かったので良かったです ありがとうございました<(_ _)>

関連するQ&A

  • Strutsで画面遷移させない。

    Strutsでwebアプリを作成しているのですが、jsp上のボタンを押下時、sessionに持ってる変数を書き換えたいのですが、画面遷移はさせたくないのです。それって可能ですか? どなたかご教授ください。

    • ベストアンサー
    • Java
  • ブラウザ閉じるボタンの押下後もセッションを破棄させてプログラムを終了させたい

    開発環境 Visual Studio 2008 Professional Edition Visual Basic 2008 .NET Framework 3.5 SP1 ASP.NETを利用してWebページを作成しています。 現在、Webページにログアウトボタンを配置し、そのボタンを押して ログインページへ遷移する前にセッションの破棄をさせています。 ブラウザ閉じる(×)ボタンの押下後もセッションを破棄させ、 その後、プログラムを終了させたいのですがどのようにすればいいのでしょうか? 尚、現在はブラウザ閉じる(×)ボタンの押下後、セッションの破棄がされずプログラムも終了しません。 よろしくお願いします。

  • セッションを使用したページ遷移

    こんにちは、質問です。 現在趣味で制作しているPHPを利用したシステムで フォームからDBへ多くのデータを登録する処理を記述しています。 計4Pのページをフォームにより遷移しながら最終ページでデータ挿入をする風に考えているのですが セッションとPOSTメソッドを使用してデータの引継ぎを行っていると、ブラウザの「戻る」ボタンを押した時に以前のページが有効期限切れとなってしまい、データを戻って入力しなおしたい時に最初からやり直さなければならない状態になっています。 こういった状況を回避するにはどのような手段がスタンダードなのでしょうか? 確かセッションを使用せずにPOSTメソッドのみで行った場合はブラウザの「戻る」ボタンを使用してもデータが保持されていました よろしくおねがいします 環境はPHP4 MySQL3です!

    • 締切済み
    • PHP
  • PHP処理実行後のページの遷移について

    現在、新規情報登録画面の作成を行っています。 PHPで、データベースにインサート処理後、成功したら他のページへ遷移するという処理を行いたいのですが、PHP側の処理が実行されるとページの遷移が行われず、action='遷移ページ指定'したらインサートが実行されません。 JavascriptとPHPともにまだ学習し始めたばかりの初心者で、わかりにくい質問ですが回答のほうよろしくお願いします。 <処理の流れ> 入力 ↓ 登録ボタン押す ↓ チェック ↓ チェック成功時→ページ遷移 チェック不成功時→ページ遷移なし <html> <head><title>新規登録</title> <script type="text/javascript" src="http://www.google.com/jsapi"></script> <script type="text/javascript">google.load("jquery", "1.2");</script> </head> <body> <form method="post" action="form_ad_shinki_touroku2.php" name="formA" onsubmit="return AllCheck()"> <script type="text/javascript"> 動的入力フォーム追加機能、チェック機能など </script> <?php SQLの処理など ?> <input type="submit" name="tuika" value=" 登 録 "> <input type="button" onclick="addInput()" value="フォーム追加" /> <input type="button" name="back" value=" 戻 る " onClick="location.href='javascript:history.back();'"> </form> <body> <html>

  • phpでのログアウトについて

    phpで会員制サイトの制作を勉強しています。 データベースへはPDOで接続しています。 MySQLデータベースを使用しています。 セッション変数($_SESSION["email"])の有無を使用したログイン方法を使用しています。 セッション変数の破棄(ログアウト処理)について質問があります。 前提として、現在会員制サイト制作の勉強で「ログアウト後は必ずTOPページに遷移する」という形にこだわっています。 ちなみに現在使っているログアウトの方法は 1、 全ページ共通の、ページ上部に表示されるメインメニューに <form method="post" name="logout" action="toppage.php"> <input type="hidden" name="logout" value="true"> <input type="submit" value="ログアウト"> </form> でログアウトボタンを作成し、 ログアウトボタンが押されたらtrueという値を持った$_POST["logout"]を トップページ(toppage.php)に送る。 2、トップページ(toppage.php)に画面遷移させ、 $logout = filter_input(INPUT_POST, 'logout'); if($logout=="true"){ unset( $_SESSION["email"] ); } でもしも$_POST["logout"]がtrueなら セッション変数$_SESSION["email"]を破棄する というプログラムによりログイン・ログアウトを管理しています。 きちんと動いてはいるのですが、不満が1つあります。 願わくばログアウトボタンをformタグのsubmitで作るのではなく、 <a href="toppage.php">ログアウト</a> とリンクを使用して作成したいです。 このようにリンクを使用する場合、遷移後のTOPページ(toppage.php)でセッション変数$_SESSION["email"]を破棄するには、どのようなプログラムを記述すれば良いのでしょうか? ネットで調べたりもしましたが、ほとんどのサイトで紹介していたものは、 ログアウトリンクをクリックすると、ログアウト処理確認専用の画面(「ログアウトしました!」とだけ書かれたような画面)に遷移し、セッション変数を破棄するものばかりでした・・・ 私個人としてはログアウト処理が完了した旨を報告する画面をワンクッション置くのは、あまり実用的ではない気がして好みません・・・ 巷にあふれているようなサイトではログアウトボタンをクリックすると TOPページに遷移するようなサイトばかりなので、 phpを使用した場合、どうやったらそのような仕組みになるのか考えた上で、 今のへんてこなログアウト処理プログラムに至りました。 ごちゃごちゃしていないもっと良いログアウト処理プログラムはないでしょうか? ご回答、よろしくお願いします。

    • ベストアンサー
    • PHP
  • IFRAME内PHPのセッション変数取得が出来ない

    既存のHTMLサイトに一部機能追加したいだけ+ブラウザに表示されるURLの関係で、必要部分だけIFRAMEでPHPサーバーのファイルを呼び出して表示させようと考えました。 IFRAMEを記述するHTMLファイル設置サーバーはPHPが使用出来ません。 <iframe src="http://hogehoge/login.php"></iframe> とHTML内にログイン用PHPを表示させ、ボタン押下でログイン判定 →データをセッション変数にセット →header("Location: http://hogehoge/form.php");で画面遷移 →フォーム用PHPに先ほどセットしたセッションデータ表示 とこんな感じの処理がしたいのですが、これがFireFoxだとうまく動くのに、IEだと動いたり動かなかったりします。(動く=開発環境である私のPC、動かない=他全て) ボタン押下で自分自身にPOSTしたデータは正しく受け取って画面遷移まで処理しているのですが、遷移後のページでセッション取得しようとすると取得出来ないようなのです。 IFRAMEを通さず直接URL叩いた場合は、FF・IEどちらも正常に動いています。 session_name('hoge'); session_start(); はPHP先頭に記載してあります。 IFRAMEを使用して外部サーバーのPHPを使用する際に、気をつけねばならない事などがあるのでしょうか… もし解決方法に思い当たる方がいらっしゃいましたら、どうかご回答宜しくお願いいたします。 またもし補足等必要でしたらご指摘下さい。

    • ベストアンサー
    • PHP
  • ブラウザの「戻る」ページ遷移でリロード

    既に同種の質問がありましたが、解決されなかったようなので質問させて下さい http://okwave.jp/qa/q6381146.html ページ内に埋め込んだURL(iframeで埋め込み)の参照先が時系列で変化する為、ページ遷移等をして戻った場合にはリロードさせたいのですが、過去の質問のようにIEであれば <script type="text/javascript"> <!-- window.onunload = function(){location.reload();} --> </script> で難なくクリア出来たのですが、他ブラウザ(Firefox・Safai・Google Chrome)ではリロードされません。 公に公表されるページなので、せめて上記の3ブラウザではブラウザの「戻る」「進む」でのページ遷移時にリロードさせたいと考えています。 ちなみに、iframeに特別拘りは無いので「他の方法で埋め込めば・・・」等ありましたらお教え頂けたら幸いです。 宜しくお願い致します。

  • ページングおよびページ遷移

    Springで会員制通販サイトを模擬開発演習で製作しています。 ページングの記述を、コントローラーとリポジトリ、表示用のHTMLに書き込んだのですが、HTML上で、1ページから2ページへのページ遷移用のボタンを押下すると、404エラーが発生します。 原因としてはどのようなことが考えられるでしょうか? ※OKWAVEより補足:「Webシステム開発」についての質問です。

  • PHPで携帯ページに自動遷移する処理について

    PHPのsnoopyを使って携帯ページに自動遷移するプログラムを作ったのですが、遷移した先が携帯ページではなくPCのページが表示されてしまいます。 <a>タグで同じURLリンクをクリックした時は携帯ページに遷移するのですが、自動で行うとなぜかうまくいきません。 自動とクリックだと何か違うのでしょうか? (自動だとWEBサーバ側のブラウザからリダイレクトしているから??) <ソース> $agent = $_SERVER['HTTP_USER_AGENT']; $snoopy = new Snoopy; $snoopy->agent = $agent; $url="aaaa.php"; $snoopy->submit($url); echo "<a href=".$url.">test</a>"; echo $snoopy->results; よろしくお願いいたします。

    • 締切済み
    • PHP
  • ブラウザを右クリックし最新の情報に更新をされたとき

    いつもお世話になっております。 Web系開発一ヶ月くらいの初心者です。 ・ASP.net(vb)で開発を行っています。  ブラウザの戻るボタンや更新ボタンは使えないようにしているの  ですが、ブラウザ上で右クリックを選択し最新の情報に更新を  選択すると、前回画面に入力し登録ボタンを押下する処理が  走りデータがまた新たに登録されてしまいます。  この、ブラウザの右クリックから最新の情報へ更新を選択された  場合にまた登録処理が走るのを回避する方法はあるのでしょうか?    session変数等を利用してというサイトは見つけたのですが、  開発規約でsession変数を使用しないとなっています。    どなたかわかる方がおられたらアドバイスをお願いいたします。

専門家に質問してみよう