次の形式の「index.php」というランディング ページがあります。
<form action="auto_mail.php" method="post">
<input id="signup" class="span8" type="text" placeholder="Your email" name="signup">
<input type="submit">
<?php
if (isset($_SESSION['got_it']))
{echo "<b>You're all signed up!</b>}
?></form>
私が持っているファイルauto_mail.php
で:
// code scrubbing user input...
$user_email = $_POST['signup'];
session_start();
$_SESSION['got_it'] = '1';
// code sending me an email when someone signs up.
echo <<<EOD
</b>
<meta http-equiv="refresh" content="0, url=index.php">
</div>
</body>
</html>
EOD;
?>
私は他のいくつかのSOの質問($_SESSION を使用してデータを運ぶ)を見てきましたが、それは私が探しているものではありません。
私が望むのは、ユーザーが有効な電子メールを入力したときに「あなたはすべてサインアップしています」と表示されることだけです。メール確認メールがバックグラウンドで送信されます。このコードはぎこちなく、ぎこちなく感じます。また、auto_mail.php
ページが短時間点滅します。
を設定しようとしましたが、直接アクセスできないように<form action="index.php"...
設定しているため機能しません。auto_mail.php
と の両方を処理せずに、または少なくともそれらをより適切に使用するauto_mail.php
ことなく、有効な電子メールアドレスをチェックして確認メールを送信するのコードをどのように使用できますか?$_POST
$_SESSION