お問い合わせフォームを作成しているのですが、確認画面、送信画面をなしでalertでの通知を実現したいです。
以前作成した確認画面から送信完了画面まで続くお問い合わせフォームのコードを1つにまとめたのですが以下のコードだと再び同じページが表示されてフォーム内容も送信できていないし、aleatの完了通知も表示されませんでした。
また、inputタグの内容を空にしてテストしてもエラー文が表示されませんでした。
何が原因なのか全くわかりません。
formタグにはmethod="post" action=""と指定しています。
どなたかお力添えをお願い致します。
実現したい手順
・送信ボタンを押したときに入力に不備がないか確認
↓
・不備がなかった際はお問い合わせ内容を送信
↓
・お問い合わせフォームの内容を消去した上でalertにて送信完了の通知
if($_SERVER['REQUEST_METHOD'] === 'POST') { $post = filter_input_array(INPUT_POST, FILTER_SANITIZE_STRING); if($post['name'] === '') { $error['name'] = 'blank'; } if($post['tel'] === '') { $error['tel'] = 'blank'; } if($post['email'] === '') { $error['email'] = 'blank'; } if($post['date'] === '') { $error['date'] = 'blank'; } } elseif(count($error) === 0) { $to = $post['email']; $subject = 'ご注文内容'; $headers= "自身のメアド"; $headers.="\n"; $headers.= "自身のメアド"; $body = <<<EOT 氏名: {$post['name']} 電話番号: {$post['tel']} メールアドレス: {$post['email']} 受け取り日時:{$post['date']} ご注文内容: {$post['a']} {$post['b']} {$post['c']} EOT; mb_send_mail($to, $subject, $body, $headers); alert('送信完了'); exit(); }
コードはマークダウンのcode機能にてご提示ください。
あと「うまくいかない」では何も伝わりませんので「起きている現象」を記載してください。
その現象をコピペで他者が再現できるように提示内容を配慮してください。
起きてる問題に対してタイトルが大きいのではないかと思います。
解決したい目の前の問題などを書いたほうが良いです
変更いたしました。
ご指摘ありがとうございます。
修正致しましたのでご確認いただけると幸いです。
>formタグにはmethod="post" action=""と指定しています。
文章説明よりコードを。
>エラー文が表示されませんでした。
現状のコードにおいて「画面出力」に関するコードはどこにもありません。
alert()はあくまでJavaScriptの機能なのでPHPのエラーが出てるであろうことは推察できますけど、自身でPHPでそのような関数を作られたのならそれも分かるように書いてくださいね。
読むのは赤の他人。
提示されてないコードや隠れた要件を言い当てることはできません。