メールフォームを作成しているのですが、送信完了画面で値をSESSIONから取り出す記述を記載するようなのですが、その理由は何でしょうか?
自分なりに調べてみたのですが、以下のような解釈であっているでしょうか?
回答よろしくお願いいたします。
保存してある、値$nameをSESSIONから取り出して、そのSESSIONから取り出した$nameを$mail->Body .= "お名前:".$name."\n"; の$nameの部分に置き換えて出力して表示させるため。
php
1<?php 2session_start(); 3$name = $_SESSION['name']; 4$email = $_SESSION['email']; 5 6// メール本体 7$mail->Body .= "----------お申し込み内容----------\n"; 8$mail->Body .= "お名前:".$name."\n"; 9$mail->Body .= "メールアドレス:"."\n".$email."\n"; 10?>
> その理由は何でしょうか?
逆に、$_SESSIONを使わずに同等の動作を実装する方法として、どのようなものを考えていますか?
$name = $_SESSION['name'];
$email = $_SESSION['email'];
↓
$name = $_POST["name"];
$email = $_POST["email"];
POSTを使う方法があるようです。
POST でやっても別によいですよ。
しかし前画面に戻る際など、あらゆる入力値 (氏名メールアドレス住所電話番号等すべて) を引き渡す必要があり面倒ではあります。$_SESSION を使うと各画面ごとに興味のある値のみを扱えばよいので楽、といえます。

回答2件
あなたの回答
tips
プレビュー



