PHPセッション情報のDBへの受け渡し

このQ&Aのポイント
  • PHPセッション情報のDBへの受け渡しについて、ページ遷移しても情報を保持する方法について教えてください。
  • 現在、セッション情報を保持しつつメールでの送信ができていますが、ページ遷移で情報が保持された状態にするにはデータベースを使用する必要があるのでしょうか?
  • データベースに関しても勉強していますが、セッション情報をDBへ登録してページ遷移した場合にデータベースから呼び出す方法がわかりません。ご教授願います。
回答を見る
  • ベストアンサー

PHP セッション情報のDBへの受け渡し

お世話になります。 標題の件について、以下のとおり説明します。 (1)1ページ目:入力フォームで入力した情報をセッションに保持 (主にプルダウンメニューの情報とテキスト) submitボタンで次画面へ ↓ (2)2ページ目:サムネイル写真をクリックした情報を保持+インラインフレームで拡大写真表示 (クリックした情報をプルダウンメニューに表示してセッションへ保持) submitボタンで次画面へ ↓ (3)3ページ目:サムネイル写真をクリックした情報を保持+インラインフレームで拡大写真表示 (クリックした情報をプルダウンメニューに表示してセッションへ保持) submitボタンで次画面へ ↓ (4)4ページ目:上記内容の確認画面 submitボタンで次画面へ ↓ (5)送信 現状、上記の流れでセッション情報を保持しつつメールでの送信が確認出来ています。 ですが、ページ遷移で確認画面から前画面へ戻って、例えば2ページ目の写真を変更して、submitで次画面へ遷移すると、3ページ目の情報がなくなり新たに写真を選択する必要になってしまいます。 なので、ページを前後遷移しても情報が保持された状態にするには、どうすれば良いでしょうか? データベースを使わないと出来ないことでしょうか? データベースに関しても勉強しておりますが、セッション情報をDBへ登録して、その後ページを遷移した場合に、データベースから呼び出すようなイメージなのでしょうが、それにはどうすれば良いのかが不明です。 お手数ですが、ご教授の程、よろしくお願いします。

  • PHP
  • 回答数4
  • ありがとう数4

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

  • ベストアンサー
  • sanzero
  • ベストアンサー率56% (58/102)
回答No.4

PHPでもやってやれないことはありません。私としては大変そうだなという感じがするだけですよ。 1ページに収める、というのは http://5am.jp/jquery/jquery_ui_tabs/ のような感じで、上記のURLはタブですが、タブのボタンが、 1ページ目には2ページ目を表示するタブ(ボタン) 2ページ目には1ページ目と3ページ目を表示するタブ(ボタン) : : があるというようなイメージです。

5620246
質問者

補足

ありがとうございます。 この方法だと1ページ内で収めることが出来るのでとても良いです。 1歩完成の形に近づきました。 さっそくですが1点問題が発生しまして、下記のjavascriptを1ページ毎に使用していましたが、1ページ内に収めようとしたら、 うまく動作しなくなりました。 動きとしては、サムネイルの画像をクリックすると、その情報をプルダウンメニューに表示させる動きです。 各ページにプルダウンメニューは1つ置き、複数のサムネイルの画像の中からどれを選んだかが分かるようなしくみです。 参考サイトは以下になります。 http://webhako.net/jquery/select-set-value/ image1~image7まで設定したいのですが、image1、image2、image3を追加した時点でimage3しか動作しなくなります。 このコードに増やせば出来そうな気がするのですが、違いますかね? <script> function check(n){ $("select[name='image1']").val(n); } </script> 以下は実際のPHPのコードの一部を記述します。 <?php $image1list = array( ''=>'写真を選択して下さい', '1'=>'http://~~/1S.jpg', '2'=>'http://~~/2S.jpg', '3'=>'http://~~/3S.jpg', '4'=>'http://~~/4S.jpg', '5'=>'http://~~/5S.jpg', '6'=>'http://~~/6S.jpg', '7'=>'http://~~/7S.jpg' ); //select確認画面から戻る時用の値。 $_POST['image1_return'] = $_SESSION['image1']; ////// 2枚目の写真 ////// $image2list = array( ''=>'2枚目の写真を選択して下さい', '1'=>'http://~~/0203/1S.jpg', '2'=>'http://~~/0203/2S.jpg', '3'=>'http://~~/0203/3S.jpg', '4'=>'http://~~/0203/4S.jpg', '5'=>'http://~~/0203/5S.jpg', '6'=>'http://~~/0203/6S.jpg', '7'=>'http://~~/0203/7S.jpg' ); //select確認画面から戻る時用の値。 $_POST['image2_return'] = $_SESSION['image2']; ?> 下記は<body>タグ内 <script> function check(n){ $("select[name='image1']").val(n); } </script> <select name="image1"> <?php //セレクトボックス配列リストからoptionタグに展開。 foreach($image1list as $key => $value){ if($value == $_POST["image1_return"]){ echo "<option value='$value' selected>".$value."</option>"; }else{ echo "<option value='$value'>".$value."</option>"; } } ?> </select> <a href="1.html" target="main1"><button type="button" onclick="check('http://~~/1S.jpg');" value="写真1"><img src="1S.jpg" width="150" height="110"></button><a><br> 写真1 <a href="2.html" target="main1"><button type="button" onclick="check('http://~~/2S.jpg');" value="写真2"><img src="2S.jpg" width="150" height="110"></button><a><br> 写真2 ↓ 写真7まで数字以外は同じ <script> function check(n){ $("select[name='image2']").val(n); } </script> <select name="image2"> <?php //セレクトボックス配列リストからoptionタグに展開。 foreach($image2list as $key => $value){ if($value == $_POST["image2_return"]){ echo "<option value='$value' selected>".$value."</option>"; }else{ echo "<option value='$value'>".$value."</option>"; } } ?> </select> <a href="1.html" target="main1"><button type="button" onclick="check('http://~~/0203/1S.jpg');" value="写真1"><img src="1S.jpg" width="150" height="110"></button><a><br> 写真1 <a href="2.html" target="main1"><button type="button" onclick="check('http://~~/0203/2S.jpg');" value="写真2"><img src="2S.jpg" width="150" height="110"></button><a><br> 写真2 ↓ 写真7まで数字以外は同じ

その他の回答 (3)

  • agunuz
  • ベストアンサー率65% (288/438)
回答No.3

>submitで次画面へ遷移すると、3ページ目の情報がなくなり >新たに写真を選択する必要になってしまいます。 最初に3ページ目からsubmitした情報(4ページ目にPOSTされた内容)は、セッションにどのように格納しているのでしょうか? 2ページ目からsubmitで3ページ目にPOSTしたときに「その情報(以前3ページ目からsubmitした情報)があればそれを利用する」だけの話です(どうやって選択状態にするかは、どういうhtml要素を書いているのかに依存します)。 >ページ遷移で確認画面から前画面へ戻って この「ページ遷移」というのはどのように行っていますか?ブラウザの戻るボタンだと再POSTするかどうかの警告が出るとは思いますが・・・

5620246
質問者

補足

質問への回答は以下のとおりです。 >最初に3ページ目からsubmitした情報(4ページ目にPOSTされた内容)は、セッションにどのように格納しているのでしょうか? ================================================ ◎3ページ目のPHPに以下を記述 写真3のサムネイル画像をクリックすると指定の位置に同じ写真の拡大表示を行い、同時にセレクトボックスのリストにもその内容を表示し、セレクトボックスの情報を次画面へ送信しているものです。 <?php // セッションスタート session_start(); ////// 3枚目の写真 ////// $image3list = array( ''=>'3枚目の写真を選択して下さい', '1'=>'http://~~/1S.jpg', '2'=>'http://~~/2S.jpg', '3'=>'http://~~/3S.jpg', '4'=>'http://~~/4S.jpg', '5'=>'http://~~/5S.jpg', '6'=>'http://~~/6S.jpg', '7'=>'http://~~/7S.jpg' ); //select確認画面から戻る時用の値。 $_POST['image3_return'] = $_SESSION['image3']; ?> <script> function check(n){ $("select[name='image3']").val(n); } </script> <select name="image3"> <?php //セレクトボックス配列リストからoptionタグに展開。 foreach($image3list as $key => $value){ if($value == $_POST["image3_return"]){ echo "<option value='$value' selected>".$value."</option>"; }else{ echo "<option value='$value'>".$value."</option>"; } } ?> <a href="javascript:document.ph01.src = '3.jpg'; void(0);"><button type="button" onclick="check('3S.jpg');" value="写真3"><img src="http://~~/3S.jpg" width="150" height="110"></button></a><br />写真3 ============================================================ ◎4ページ目のPHPに以下を記述 <?php // セッションスタート session_start(); //////////////////////////////////////////////////////////////////// //3枚目の写真 $image3 = isset($_POST['image3']) ? $_POST['image3'] : NULL; //3枚目の写真selectのエラーチェック if($image3 == '選択して下さい'){ $error[] = '3枚目の写真を選択してください。必須項目です。'; }else{ $_SESSION['image3'] = $image3; } //3枚目の写真のデータをセッション変数に保存 $_SESSION['image3'] = $image3; ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=euc-jp"> <title>確認画面</title> <link rel="stylesheet" href="main.css" type="text/css" media="all"> </head> <body> 3枚目の写真確認表示: <img src="<?php echo $image3; ?>" width="150" height="110"> <!-- $_SESSION["year"]を送信フォームへ --> <form action="send.php" method="post" name="form_select"> <input type="hidden" name="image3" value="<?= $_SESSION["image3"]; ?>"> <input name="confirm" value="送信する" type="submit"> <!-- 入力フォームへ戻る用 --> <input type="hidden" name="image3_return" value="<?= $_SESSION["image3"]; ?>"> <button type="button" onclick="location.href='3.php'" target="_self" class="button_re-selection">前画面へ</button> </form> </body> </html> >ページ遷移 ページ遷移の方法は以下で行なっています。 <input name="confirm" value="次画面へ" type="submit"> <button type="button" onclick="location.href='3.php'" target="_self" class="button_re-selection">前画面へ</button> 上記が現在作成中のソース内容ですが、勉強中の段階なので記述の仕方でアドバイスをいただければ幸いです。 よろしくお願いします。

  • sanzero
  • ベストアンサー率56% (58/102)
回答No.2

ページを遷移した際にサーバ上にセッションとしてデータを保持すれば、 再度ページを開いた時にセッションからブラウザに情報をechoで書き出してあげれば良いです。 ただし、上記処理だけはセッションをあるタイミングで消さなくては次回遷移時に初期表示されてしまいますし、途中でブックマークなどから離脱してしまうとセッションを消すタイミングを逸してしまいます。 PHPだけできちんと処理しようとすると大変です。 そこで保持したい情報のある全てのページを1ページで収め、擬似的にJavaScriptでページを切り替えれば、セッションに保存する処理は省けて、実装が楽かなと思います。

5620246
質問者

補足

ありがとうございます。 PHPだけでは難しいのですね。 「そこで保持したい情報のある全てのページを1ページで収め、」というのは 一応4ページ目(最終ページ):上記内容の確認画面で揃い、echoで書き出しすると表示が可能でした。 ですが、1ページ目に戻って違う写真に変更をしたい場合、変更してsubmitボタンを押すと、2ページの選択した写真の画面表示が最初の状態に戻ってしまいます。 submitボタンを押しても過去の情報が残っている状態にするの可能でしょうか? また、擬似的にJavaScriptでページを切り替えというのは、「onclick="(実行するJavaScriptのコード)"/>」この類のものでしょうか? お手数ですが、よろしくお願いします。

  • hue2011
  • ベストアンサー率38% (2800/7250)
回答No.1

2ページ目と3ページ目の区別がつきません。 セッションに保持、とおっしゃってますけど、その概念にとらわれるとよくないです。 PHPのコントロール下で全部が制御できるという錯覚に陥っているのです。 submitボタンでFormの内容がリクエスト情報に載せられて次画面に遷移しているだけです。 前画面から引き継いだ情報をPHPが画面作成に使っているだけです。 Backspaceされると、ブラウザのキャッシュが戻るので、スタックが前の状態になります。 この状態ではリクエスト情報は切れています。 サーバーじゃないですよ、ブラウザの話です。 今の話、おわかりでしょうか。 ですから、inputでhiddenの状態で保持して、「前の画面」と言うボタンを作ってそこでのサブミット先を前の画面にすれば、リクエスト情報に載ります。 サブミット先が違う制御をしないといけませんから、javascriptの出番ですよ。 ブラウザの戻りボタンを禁止しておく必要があります。 そうでなかったらクッキーに保存して、読み込みをさせればいいのです。 その代り、×でブラウザを閉じられると、再び立ち上げたとき、過去の情報を表示しますけど。

5620246
質問者

補足

貴重なご意見ありがとうございました。 クッキーを使ってやってみるようにしました。 それでですが、前画面に戻ったときの画像の表示は、クッキーの情報が記憶されてて問題無いのですが、 例えば、最後の確認画面まで進んだ時に1ページ目の写真を変更したいとなった場合、1ページ目まで戻って写真を選択し直します。 そこで、他の写真を選択し直して送信をすると、その情報は送信されますが、すでに写真を選択していた2ページ目の画像の表示がなくなってしまいました。(このとき2ページ目のセッションは前の情報は残っています) 2ページ目の画像の表示は残したまま、送信ボタンを押してページを遷移しても、前の状態の写真が残っている状態にしたいのです。 すみませんが、ご説明いただいた方法がそれなのかもしれませんが、もう少しヒントをいただけると幸いです。 よろしくお願いします。

関連するQ&A

  • PHP セッションの受け渡しと取得

    お世話になります。 サムネイル画像を下記で表示させ、 <button type="button" onclick="window.open('1.html','main');" name="写真1" value="<?php echo $file1; ?>"><img src="1S.jpg" width="150" height="110"></button> 上記の画像クリックすると拡大表示するようにしています。 その際、画像のname値「写真1」を保持したまま、次ページへ受け渡して取得したいのですが、 どうすれば良いでしょうか? 下記はサムネイル画像のページと次ページどちらにも入れております。 <?php // セッションスタート session_start(); $file1 = isset($_SESSION['file1']) ? $_SESSION['file1'] : ''; $_SESSION[ 'file1' ] = $file1; ?> 表示箇所には下記を入れています。 <?php echo $file1; ?> どなたかご教授をお願いします。

    • ベストアンサー
    • PHP
  • PHPでセッション情報の受け渡し2

    度々似たようなタイトルでの質問ですみません。 ここで質問させていただき、アドバイスをいただいた結果、 保持したい情報のある全てのページを1ページで収め、擬似的にJavaScriptでページを切り替える方法にしました。 それにより、この1ページ内で選択した情報(画像やテキストなど)を記憶したまま表示することが可能になりました。 ですが、1点だけ、動作が不安定なものがありまして、 上記ページから、最終の確認画面にsubmitで送信した後、 確認画面で確認してから、「もう一度、変更したい画像が発生した」なんてとき 「前画面へ戻る」(<button type="button" onclick="javascript:history.back();" target="_self" class="button_re-selection">前画面へ</button>)このコードで戻ると、選択していた画像がブラウザやOSによって表示されなくなってしまいます。 現時点では、macだとsafari、firefoxのみOKで、operaはダメ(テキストはOK)でした。 windowsだと、ie、firefox、chromで画像もテキストもダメでした。 つくりとしては、 サムネイルの画像(小サイズ)が横並びで並んでいて、それをクリックするとその下に、拡大画像(中サイズ)が表示します。 拡大画像(中サイズ)の表示場所はiframeで囲んでおり、どの画像を選んでも同じ場所に表示する仕組みです。 表示された拡大画像(中サイズ)をクリックするとさらに拡大してlightboxで大サイズを表示するようにしています。 iframe内に表示している拡大画像(中サイズ)は、PHP内に貼りこんで表示しています。 「on load」を上記のPHP内に入れれば、出来そうですが、現在検証中です。 もしかすると、iframeを使用していることに原因があるのかもしれませんが、出来ればこの形を使いたいです。 内容は上記のとおりですが、なんとなくイメージが伝わりますでしょうか? どなたかご教授をお願いします。

    • ベストアンサー
    • PHP
  • インラインフレーム内のセッション

    通常のHTMLファイルのインラインフレーム内に、別サーバーからPHPファイルを取得して表示しています。 そのPHP自体は簡単なアンケート(フォーム→入力内容確認→送信)なんですが、このフォーム→入力内容確認の遷移がうまくいきません。 セッションでフォーム内の値と送信ボタンの値(sub)を保持し、確認のファイルに if(@$_SESSION['sub']!=TRUE){ header("location:form.php"); exit(); }else{ (以下略) } と記述することで、もしURL直打ちの場合はフォームの入力画面に飛ばされるようにしてあるのですが、インラインフレームの中でフォームに入力して送信ボタンを押すと、強制的に同じ画面に戻ってしまうのです。 直接ブラウザで該当のPHPを見たときは、何の問題もなく動くので、プログラム自体にエラーがあるわけではないと思うのですが・・・。 どうも確認ファイルのif(@$_SESSION['sub']!=TRUE)で、セッションがうまく保持されていないためにheaderで飛ばされてしまっているらしいのですが、インラインフレーム内でセッションを利用するときはどうすればいいのでしょうか?

    • ベストアンサー
    • PHP
  • PHPでセッションを使った受け渡しについて

    PHPでECサイトのカート機能を作っています。 まず商品一覧画面(index.php)にデータベースから読み取ったidとNAME、そして個数、サイズ、包装の有無のセレクトボックスを表示します。 それぞれの商品の追加ボタンを押すとカートのphp(t_cart.php)に飛んで上記の情報を全て表示できるようにしたいのですが、idとNAMEと個数の情報は受け渡せるのですが、サイズや包装の有無は別の商品を追加すると全ての商品の情報が上書きされてしまいます。 コードの一部を記載しておきます。 まだPHPを始めたばかりで初歩的な事がわからないのですが、ぜひ御知恵をお貸しいただければとおもいます。 よろしくお願いします。 ・index.php <table> <?php foreach ($Menu as $g) { ?> <tr> <td> <p class="Menu"><?php echo $g['id'] ?></p> </td> <td> <p><?php echo $g['NAME'] ?></p> </td> <form action="t_cart.php" method="post"> <td> <a>個数:</a> <select name="num"> <?php for ($i = 1; $i <= 10; $i++) { echo "<option>$i</option>"; } ?> </select> </td> <td> <a>サイズ:</a> <select name="size"> <option>S</option><option>M</option><option>L</option> </select> </td> <td> <a>包装:</a> <select name="deco"> <option>有</option><option>無</option> </select> </td> <td> <input type="text" name="id" value="<?php echo $g['id'] ?>"> <input type="submit" name="submit" value="go to cart"> </td> </form> </tr> <?php } ?> </table> ・t_cart.php <?php require 'common.php'; $rows = array(); $sum = 0; $pdo = connect(); if (!isset($_SESSION['cart'])){ $_SESSION['cart'] = array(); } if (@$_POST['submit']) { @$_SESSION['cart'][$_POST['id']] += $_POST['num']; } foreach($_SESSION['cart'] as $id => $num) { $st = $pdo->prepare("SELECT * FROM Menu WHERE id=?"); $st->execute(array($id)); $row = $st->fetch(); $st->closeCursor(); $row['num'] = strip_tags($num); $row['size'] = $_POST['size']; $row['deco'] = $_POST['dough']; $rows[] = $row; } ?>

    • 締切済み
    • PHP
  • 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
  • php入力画面から確認画面へ情報の受け渡しについて

    php 参考書を見て、入力フォームを作成しているのですが、入力画面から確認表示画面へ情報の受け渡しについて。コードは下に記載してます。 最初の入力画面ではmethod=postで送信した値を$name = $_POST['name'];に格納して次ページに値を渡すそうですが、 しかし最初の入力画面のコードに$name = $_POST['name'];と、もうひとつ、$name = $_SESSION['name'];でセッションに保存して、次ページに送るそうですが、 保存したSESSIONの値は次ページの確認表示画面から戻る際に値を保持する際に使うからだそうですが、値を次ページに送る役割が$_POSTやSESSIONにあるならば、SESSIONの記述のみで 次ページに送れると思うのですが、なぜこのコードの場合、$_POSTに値を格納する必要があるのでしょうか? 以下のような解釈で正しいでしょうか?? 「$_POSTは送られた値をフォームのvalue内にechoで出力するため、SESSIONはページから戻る場合に値を保持するため」 回答よろしくお願いいたします。 コード 入力初期画面 <?php session_start(); $errors = array(); if(isset($_POST['submit'])){ $name = $_POST['name']; if($name === ""){ $errors['name'] = "お名前が入力されていません。"; } if(count($errors) ===0){ $_SESSION['name'] = $name; header('Location:https:次ページへform2.php'); exit(); } } ?> <body> <form action="form1.php" method="post"> お名前 <input type="text" name="name" value="<?php if(isset($name)){echo $name;}?>"> <input type="submit" name="submit" value="確認画面へ"> </body> コード 確認表示画面 <?php session_start(); if(isset($_SESSION['name'])){ $name = $_SESSION['name']; } <body> <form action="form3.php" method="post"> お名前 <?php echo $name;?> <input type="submit" name="submit" value="送信する"> p><a href="form1.php?action=edit">入力画面へ戻る</a></p> </body>

    • ベストアンサー
    • PHP
  • PHPでセッションを使用する場合のデータの受け渡し

    お世話になります。 入力フォームの内容をセッションで保持し、情報を次ページへ受け渡す方法が知りたいです。 HTMLは組めるのですが、PHPは初心者のためどのように記述すればよいかが不明です。 ページの流れとしては以下のとおりです。 入力フォーム→画像選択画面1→画像選択画面2→画像選択画面3→確認画面→送信 次ページへ行くごとにデータを渡し、次ページで受け取るようにし、最終的にすべての情報を送信可能にしたいです。 おそらく最初は「<?php session_start(); ?>」で、その後が不明です。 お手数ですがよろしくお願いします。

    • 締切済み
    • PHP
  • セッション PHPとHTML

    form1.htmlのaction先にorder.phpを指定し、そのorder.phpで$_POSTを使ってform1.htmlのフォーム情報を取得します。その後、order.phpはheader(Location)でform2.htmlをブラウザ上に表示させます。 form2.htmlはaction先が同じorder.phpになっており、ifで動作を制御しています。form2.htmlのsubmitボタンを押すと、画面上にorder.phpにより、今まで2つのフォームで入力した内容が表示されます(order.phpはsessionですべての変数を保持しています)。 この時「form1の内容を訂正」「form2の内容を訂正」というリンクないしボタンを設けて、該当フォームに飛べるようにしたいのです。 このリンク/ボタンで該当フォームに飛んだ場合、入力内容がフォームに表示されるようにするには、どのようにすればいいのでしょうか? いまいちsessionの詳しい使い方が分からなくて困っています・・・。

    • ベストアンサー
    • PHP
  • jsp→jsp間の受け渡し

    現在ある予約システムを作っていて、iteratorを使ってDBの情報をこのような画面で表示させています。 「予約一覧」画面   -----------------  ■| 時間1 | 変数A |   |----------------   | 人数1 | 変数B |    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄   -----------------  ■| 時間2 | 変数C |   |----------------   | 人数2 | 変数D |    ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ 以下は、「予約一覧」JSPのほんの一部です。 <s:iteratorvalue="#session.YOYAKU"status="rowstatus"> 利用時間<s:property value="Time"/><br> 利用人数<s:property value="Customer"/><br> </s:iterator> ■は予約取消のsubmitボタンです。 これを押したらその内容を保持して取消画面に遷移させたいのですが・・・ どちらの■を押しても、遷移すると一番新しい予約情報(この場合時間1の方)しか表示できません。 こちらは遷移先の「取消」画面のJSPです 利用時間<s:property value="#session.Time"/><br> 利用人数<s:property value="#session.Customer"/><br> ■ごとに取得する内容を変更するにはどうすればよいのでしょうか? なにとぞおねがいいたします。

  • 外フレームでインラインフレーム内のデータを保持したい

    お世話になります。 1つのページに1つのインラインフレームがあり、インラインフレーム内のページを外フレームにあるボタンで切り替えます。 それぞれのインラインフレームには共通した入力項目があります。 ページを切り替えたときに、元インラインフレーム内に入力した共通入力項目のデータを、切り替わったインラインフレームにも保持しておきたいです。 たとえば、プルダウンで年月日を選んだ後にインラインフレーム内を切り替えた後にも、選んだ状態にしたいのです。 セッションに保持したらいいだろうとは思うのですが、具体的にどう制御すればうまくデータが渡せるのかが分からず困っています。 お分かりになる方がいらっしゃったらご助言ください。 よろしくお願いいたします。