フォームがあります。フォーム データが送信されたら、「フォームを送信していただきありがとうございます」という JavaScript アラートをユーザーに送信したいと考えています。
これを可能にするために使用する条件を探しています。$_POST 配列をテストしてみましたが、空の配列が表示されisset
ていてもprint_r
、アラートが表示されました。信頼できないようでした。
どんなアイデアでも大歓迎です。
フォームがあります。フォーム データが送信されたら、「フォームを送信していただきありがとうございます」という JavaScript アラートをユーザーに送信したいと考えています。
これを可能にするために使用する条件を探しています。$_POST 配列をテストしてみましたが、空の配列が表示されisset
ていてもprint_r
、アラートが表示されました。信頼できないようでした。
どんなアイデアでも大歓迎です。
if ($_SERVER['REQUEST_METHOD'] == 'POST') {
echo <<<EOL
<script type="text/javascript">
alert('POST received');
</script>
EOL;
}
REQUEST_METHOD は、特定のタイプの HTTP リクエストがアクティブかどうかをテストする唯一の 100% 信頼できる方法です。フォームフィールドのチェックは信頼できません - フィールド名はタイプミス、見落とし、削除、ハッキングなどの可能性があります...
<?php if ($_SERVER['REQUEST_METHOD'] == 'POST'):?>
<script type="text/javascript">
alert('POST received');
</script>
<?php endif;?>
マークBの答えを書く別の方法
フォームを送信してくれてありがとうと言いたいだけならonclick
、送信ボタンを追加してみませんか。
<input type="submit" onclick="alert('Thank you for submitting the form!');" value="Submit Form">
データ受信後に提出するには、PHPで、
if (isset($_POST['whatever']) && (more_conditions) {
echo "<script type='text/javascript'>alert('Successful Submission.)</script>";
}