• 締切済み

PHPでセッションを使用する場合のデータの受け渡し

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

みんなの回答

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

>おそらく最初は「<?php session_start(); ?>」で、その後が不明です。 session_start()すれば、変数$_SESSIONが使ってデータを引き渡せます。 データを受け取ったスクリプトで $_SESSION['data_1'] = $_POST['data_1']; としておけば、その値が次のスクリプトで$_SESSION['data_1']にセットされた状態になります(session_start()で$_SESSIONにセットされる)。 http://php.net/manual/ja/session.examples.basic.php

5620246
質問者

お礼

select.php→select2.php→check.phpの順で ◯各ページに以下を追加 <?php // セッションの開始 session_start(); $name = htmlspecialchars( $_POST[ 'name' ], ENT_QUOTES ); $email = htmlspecialchars( $_POST[ 'email' ], ENT_QUOTES ); $message = htmlspecialchars( $_POST[ 'message' ], ENT_QUOTES ); $_SESSION[ 'name' ] = $name; $_SESSION[ 'email' ] = $email; $_SESSION[ 'message' ] = $message; ?> ◯select.phpの一部を以下にする <input type="hidden" name="name" value="<?php echo $name; ?>" size="30" id="name" class="text1" placeholder="例)山田太郎" autofocus required> <input type="hidden" name="email" value="<?php echo $email; ?>" size="30" id="email" class="text2" placeholder="例)xxx@example.com" required> ◯select2.phpの一部を以下にする <input type="hidden" name="message" value="<?php echo $message; ?>"> ◯check.phpで上記3項目を表示 上記でセッションの受け渡し確認が出来ました。 ありがとうございました。 次は画像の選択画面です。 以下サイトなどを参考にしてみます。 http://symfo.web.fc2.com/js-sample/jq/sample4.html

5620246
質問者

補足

さっそくの回答をありがとうございます。 イメージとしては下記のようなサイトで http://photobook.kitamura.jp/yearalbum/ 1.始めに入力フォームでタイトル名や仕様を選択し、送信を押す ↓ 2.次の画面が開いて、1ページはこの写真を入れるで写真を選択する(セッションに記憶する)、次の画面を押す ↓ 3.上記と同じく次の画面が開いて、2ページ目はこの写真を入れるで写真を選択する(セッションに記憶する)、次の画面を押す ↓ 4.上記と同じく次の画面が開いて、3ページ目はこの写真を入れるで写真を選択する(セッションに記憶する)、次の画面を押す ↓ 1~4の注文確認画面が開く ↓ 送信を押すと、メールで注文内容が送信されるような感じのものをPHPで作成したいのです。 <? php session_start(); $_SESSION['data_1'] = $_POST['data_1']; ?> 上記コードを各ページに入れれば、入力フォームのセッション情報を受け渡しして、送られるのでしょうか? すみませんが、よろしくお願いします。

関連するQ&A