私は今、名前、電話番号、電子メール、コメントなどの簡単な入力フィールドを持つフォームを用意しています。私emailMonthlySpecials.phpでフォームを送信したときにページを更新してエラーメッセージを表示するにはどうすればよいですか?
<div id="specialsForm"><h3>Interested in this coupon? Email us! </h3>
<form method="post" action="emailMonthlySpecials.php">
Name: <input name="name" type="text" /><br />
Email: <input name="email" type="text" /><br />
Phone Number: <input name="phone" type="text" /><br /><br />
Comment: <br/>
<textarea name="comment" rows="5" cols="30"></textarea><br /><br />
<input type="submit" value="Submit Email"/>
</form></div>
私は、次のコードを持っている:
$name = $_REQUEST['name'] ;
$email = $_REQUEST['email'] ;
$phone = $_REQUEST['phone'] ;
$comment = $_REQUEST['comment'] ;
if(!empty($name) && (!empty($email) || !empty($phone))) {
mail("[email protected]", "Monthly Specials Email",
"Name: $name
Email: $email
Phone Number: $phone
Comment: $comment", "From: $email");
} else {
echo '<span class="error">A name, comment, phone number/email is required</span><br />';
};
それは新しいページに移動し、(もしあれば)、エラーを示していない場合には、空白のページに行きます(私はそれがあなたに感謝のページに行く方法を知っていますが、それは現在のページに保持する必要があります)それは電子メールに情報を送信すると動作します。
私は
header("Location: ".$_SERVER["PHP_SELF"]);
を試してみましたそして、それは...任意のアイデアを仕事didntの?あなたが呼び出し元にリダイレクトしたい場合は、あなたがこれを記述する必要が
エラー時にリフレッシュしない –
空白ページに移動しないようにするにはどうすればよいですか?なぜなら、私はそれをどこにでも置かないと、空白のページに行きますが、それでも正しく電子メールを送ります。 – Chris
空白のページを表示せず、同じページを塗りつぶしたフォームで表示します。 –