質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

2回答

717閲覧

お問い合わせフォームが未入力の場合の対処法を教えていただきたいです。

tyonomi

総合スコア11

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2018/02/20 13:39

以前も質問させていただいたのですがお問い合わせフォームに未入力だった時にメッセージを出したいのですが
required="required" を使用するとスマホにした時に送信ボタンが反応しなくなる不具合が出るので
何か他に方法はありますでしょうか。

何卒ご教示お願いいたします。
html部分

<section id="otoiawase"> <img src="images/otoiawase.png"> <article> <div class="contact-form"> <form method="post" action="complete.php"> <table> <tr> <th>お名前<span class="hissu">※</span></th> <td class="pc"> 姓<input type="text" name="name1" id="name1"><br class="mb" /> 名<input type="text" name="name2" id="name2"> </td> <td class="sp"> <p>姓</p><input type="text" name="name1" id="name1"><br class="mb" /> <p>名</p><input type="text" name="name2" id="name2"> </td> </tr> <tr> <th>メールアドレス<span class="hissu">※</span></th> <td> <input type="email" name="mail" id="mail" placeholder="例:000@example.com"> </td> </tr> <tr> <th>メールアドレス<!--<br class="sp">-->(確認)<span class="hissu mail2-span">※</span></th> <td> <input type="email" name="mail" id="mail2" placeholder="例:000@example.com"> </td> </tr> <tr> <th>お問い合わせ内容<span class="hissu">※</span></th> <td> <textarea name="memo" maxlength="300" id="memo" placeholder="300文字以内でご入力ください"></textarea> </td> </tr> </table> <div class="submit-wrap"><input type="submit" name="submit" id="submit" class="square_btn" value="送 信"></div> </form> </div> </article> </section>

php部分

<section id="otoiawase"> <img src="images/otoiawase.png"> <article> <div class="contact-form"> <?php $kind=htmlspecialchars($_POST["kind"]); $name1=htmlspecialchars($_POST["name1"]); $name2=htmlspecialchars($_POST["name2"]); $mail=htmlspecialchars($_POST["mail"]); $memo=htmlspecialchars($_POST["memo"]); $hantei="ng"; if($kind != "" && $name1!="" && $name2!="" && $mail!="" && $memo!=""){ $hantei="ok"; }else{ $hantei="ng"; } //print($hantei); if(!hantei){ print("送信できません。"); }else{ $send_data="【お問合せの種類】".$kind."\n\n【お名前】\n".$name1.$name2."様\n\n【メールアドレス】\n".$mail."\n\n【お問合わせ内容】\n".$memo."\n\n"; //print($send_data); /////////////////////////////////////////////////////送信//////////////////////////////////////////////////////////// $msg="ホームページからお問い合わせがありました。お問い合わせ内容は下記のとおりです。\n\nお問い合わせ内容\n\n".$send_data."\n\n以上、対応をよろしくお願いいたします。"; mb_language("ja"); mb_internal_encoding("UTF-8"); $header=mb_encode_mimeheader($mail); $address="000@000.co.jp"; //------------------------------------------------------------------------------メールアドレスに要変更 $hantei1=mb_send_mail($address,"ホームページからのお問い合わせです。",$msg,"From:".$header); /////////////////////////////////////////////////////お客様に送信//////////////////////////////////////////////////////////// $store_data=" ***************************************************** 000 *****************************************************"; $msg=$name1."様\n\n【000】ホームページからのお問い合わせ誠にありがとうございます。\n下記の内容でお問い合わせを承りました。\nこのメールは自動送信されております。\nお問い合わせをいただきました内容については後程、担当の者よりご連絡させていただきます。\n今しばらくお待ちくださいますようお願い申し上げます。\n\nお問い合わせ内容\n\n".$send_data."\n\n改めまして、お問い合わせ厚く御礼申し上げます。\n\n".$store_data; $title="【000】ホームページからのお問い合わせ誠にありがとうございます"; mb_language("ja"); mb_internal_encoding("UTF-8"); $header=mb_encode_mimeheader("000@000.co.jp"); //------------------------------------------------------------メールアドレスに要変更 $hantei2=mb_send_mail($mail,$title,$msg,"From:".$header); //print("判定1:".$hantei1."<br>"); //print("判定2:".$hantei2."<br>"); if($hantei1 && $hantei2){ print("<p style='padding-top:50px;'>"); print("お問い合わせ、<br class='sp'>誠に有難うございます。<br><br>"); print("お問い合わせいただきました<br class='sp'>内容につきましては、<br class='sp'>担当者より改めてご連絡差し上げます。<br>"); print("万が一、連絡がない場合は<br class='sp'>大変恐れ入りますが、<br>お電話にて<br class='sp'>お問い合わせくださいますよう<br class='sp'>お願い申し上げます。<br><br>"); print("</p>"); print("<p style='margin-bottom:70px;'>"); print("改めまして、<br class='sp'>お問い合わせ厚く御礼申し上げます。"); print("</p>"); print("<p style='margin-bottom:50px;'><a href='index.html'>トップページへ戻る</a></p>"); }else{ print("<p>何らかの理由により送信できませんでした。<br>申し訳ございませんが、お電話でお問い合わせください。</p>"); } } ?> </div> </article> </section>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

サンプル

php

1<?php 2/** 3 * index.php 4 */ 5ini_set('display_errors', true); 6error_reporting(E_ALL); 7 8if (filter_input(INPUT_SERVER, 'REQUEST_METHOD') === 'POST') { 9 10 $err = []; 11 $username = filter_input(INPUT_POST, 'username'); 12 if ($username === '') { 13 $err['username'] = '入力必須です。'; 14 } 15 $age = filter_input(INPUT_POST, 'age'); 16 if ($age === '') { 17 $err['age'] = '入力必須です。'; 18 } 19 20 // 成功時の処理 21 if (count($err) === 0) { 22 header('Location: sample.php'); 23 } 24} 25?><!DOCTYPE HTML> 26<html lang="ja"> 27 <head> 28 <meta charset="UTF-8"> 29 <title></title> 30 <style type="text/css"> 31 .error { 32 color: red; 33 } 34 </style> 35 </head> 36 <body> 37 <div class="container"> 38 <form action="" method="post"> 39 <div> 40 <div> 41 <label for="username">必須 名前</label> 42 <input type="text" id="username" name="username" /> 43 </div> 44 <?php if (isset($err['username'])) : ?> 45 <p class="error"><?= h($err['username']) ?></p> 46 <?php endif; ?> 47 </div> 48 <div> 49 <div> 50 <label for="age">必須 年齢</label> 51 <input type="text" id="age" name="age" /> 52 </div> 53 <?php if (isset($err['age'])) : ?> 54 <p class="error"><?= h($err['age']) ?></p> 55 <?php endif; ?> 56 </div> 57 <div> 58 <button type="submit">送信</button> 59 </div> 60 </form> 61 </div> 62 </body> 63</html>

投稿2018/02/20 13:53

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

requiredやjavascriptのバリデートは所詮ユーザー補助ですので
不具合があるなら普通に不完全な状態でもとりあえず送らせることです。

入力ページから送信したデータをサーバー側で検証しバリデートや
サニタイズした上で、不完全なデータはエラーを表示して再入力させる
UIを検討下さい。

投稿2018/02/20 13:43

yambejp

総合スコア114585

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問