1

それぞれphpを使用してメールを送信する3つのフォームを作成しようとしています。2 番目と 3 番目の形式では、変数は割り当てられた値を出力しません。$_POST 関数と $_REQUEST を 2 番目と 3 番目の形式で使用しました。最初のフォームでは、電子メールが送信され、すべての変数が正常に表示されます。情報はデータベースに正常に保存されています。唯一の問題は、変数が 2 番目と 3 番目の送信元から送信された電子メールに表示されず、それを機能させる方法がわからないことです。これは何が起こったかの大まかな例です。

 $x = new mysql($connection_information);
 $x->update(array('email' => $_POST['email'], 'xemail' => $_POST['xemail'], 'parking' = $_POST['parking'] etc) 

 $email = $_POST['email']; 
 $xemail = $_POST['xemail'];

 $subject = "Form Request " . $email;
 $headers = 'From: ' . $xemail . "\r\n" .

 $message = "this email will. $_POST['parking']"

 mail($email, $subject, $message, $header);

これには他にもたくさんあります。できる限りシンプルにしています。変数が表示されていないメッセージ領域です。この問題の原因を知っている人はいますか?

4

2 に答える 2

1

代わりにこれを試すことができます。テキストを読むのは少し難しいですが、変数がどこにあるかを確認するのはずっと簡単です:

$message = "this email will. ".$_POST['parking'];

また、その上の次の行は無制限であり、PHP インタープリターが失敗する原因となります。

 $headers = 'From: ' . $xemail . "\r\n" .

全体として、次のようなコードが必要だと思います。

$x = new mysql($connection_information);
$x->update(array('email' => $_POST['email'], 'xemail' => $_POST['xemail'], 'parking' => $_POST['parking']);

$email = $_POST['email']; 
$xemail = $_POST['xemail'];

$subject = "Form Request ".$email;
$headers = "From: ".$xemail."\r\n";

$message = "this email will. ".$_POST['parking'];

mail($email, $subject, $message, $header);
于 2012-07-31T16:20:54.937 に答える
1

二重引用符で囲まれたテキスト文字列内で配列キーを参照する場合、次のような中かっこ構文を使用するのが最適です。

$message = "this email will. {$_POST['parking']}";

オブジェクトのプロパティにアクセスしようとする場合にも同じことが言えます。

于 2012-07-31T16:11:14.327 に答える