アプリ版:「スタンプのみでお礼する」機能のリリースについて

php 参考書を見て、入力フォームを作成しているのですが、入力画面から確認表示画面へ情報の受け渡しについて。コードはなぜかここに直接記載すると投稿制限のエラーが出るので、コードの画像のスクリーンショットした画像を送付してます。

最初の入力画面ではmethod=postで送信した値を$name = $_POST['name'];に格納して次ページに値を渡すそうですが、
しかし最初の入力画面のコードに$name = $_POST['name'];と、もうひとつ、$name = $_SESSION['name'];でセッションに保存して、次ページに送るそうですが、

保存したSESSIONの値は次ページの確認表示画面から戻る際に値を保持する際に使うからだそうですが、値を次ページに送る役割が$_POSTやSESSIONにあるならば、SESSIONの記述のみで
次ページに送れると思うのですが、なぜこのコードの場合、$_POSTに値を格納する必要があるのでしょうか?

以下のような解釈で正しいでしょうか??
「$_POSTは送られた値をフォームのvalue内にechoで出力するため、SESSIONはページから戻る場合に値を保持するため」

回答よろしくお願いいたします。

「php 入力画面から確認表示画面へ情報の」の質問画像

A 回答 (1件)

HTTP の POST 要求とは、ブラウザからサーバーへの通信です。


利用者のフォーム入力値をサーバーに送る等の目的で使用します。

HTTP 通信の度に入力値をやり取りする設計は煩雑になり大変です。
そこで、一度送ったらサーバー内のセッション領域に保存して使いまわす設計が考えられます。

ご提示の処理を解釈するなら
* フォーム入力値の name をブラウザから送る手段が POST
* 送られた name を保持し、すべての目的に供給する手段が SESSION
* form1 の表示目的に限り POST 値が使えるので SESSION は無くてよい

> $name = $_POST['name'];
> $_POSTに値を格納する...
代入について勉強しましょう
https://www.php.net/manual/ja/language.operators …
左辺値という言葉もあります
https://ja.wikipedia.org/wiki/%E5%80%A4_(%E8%A8% …
    • good
    • 1
この回答へのお礼

詳しい説明ありがとうございました。感謝致します。

お礼日時:2023/06/08 16:43

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!