• ベストアンサー

PHPでのフォーム

よろしくお願いします。 PHPでフォームを作成しております。 例えば電話番号の入力チェックを行う際にはpreg_matchを使用して可能かと思いますが 電話番号の項目が必須ではなく、入力された時のみにチェックするにはどのように記述すればよいでしょうか?

  • PHP
  • 回答数1
  • ありがとう数1

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

$tel=isset($_REQUEST["tel"])?$_REQUEST["tel"]:""; $pattern="/^検索条件$/"; if($tel!=="" and preg_match($pattern,$tel)){・・・;} と条件設定するか $tel=isset($_REQUEST["tel"])?$_REQUEST["tel"]:""; $pattern="/^検索条件$|^$/"; if(preg_match($pattern,$tel)){・・・;} みたいなチェックをする。

akiaki64
質問者

お礼

お返事が遅くなりまして申し訳ありません。早速参考にさせて頂き、無事に動作しました。ありがとうございます。

関連するQ&A

  • PHP版フォームメール

    メール送信フォームを管理画面で項目等を指定すれば自動で生成(HTMLを)できいくつでも簡単にフォームメールを作成できるPHP限定で探してます。 自動生成ということでフリーソフトでは流石になさそうですが最低限以下の3つを満たすシンプルなものでも構いません。どこかにありますでしょうか? ◆必須の機能 ・入力フォーム→確認画面→送信完了  の流れのフォームメール ・必須項目を設定できる ・フォーム送信後、ユーザと管理者へメールできる ・必須項目が未入力時のみ次画面でエラー画面を表示 ◆できれば欲しい機能 テキスト入力以外に、ラジオやチェックボックスやテキストエリアなども生成できる よろしくお願いします。

    • 締切済み
    • PHP
  • PHPフォームでのメールチェックの仕方(必須項目でない場合)

    PHPでフォームを製作しています。 メールチェックの設定をいれるとメールの項目に入力しないとエラーが返されてしまいます。 メールの項目は必須項目でなく、 その項目に何か入力された場合のみメールチェックを行う設定にしたいのですが、 どのように行えばいいかわかりません。 ↓現在この設定を入れています。 アドバイスをお願い致します。 function isMailError ( $mail ) { if ( !preg_match( '/^([a-z0-9_]|\-|\.|\+)+@(([a-z0-9_]|\-)+\.)+[a-z]{2,6}$/i', $mail ) ){ return true; } else { return false; } }

    • 締切済み
    • PHP
  • PHPのメールフォーム(お問合せフォーム)について

    PHPのメールフォーム(お問合せフォーム)について 今、PHPでメールフォームを作っています。 (よくあるお問合せフォームです。) 書籍やウェブサイトを参考に 見よう見まねで、一通り作ってみました。 ただ、メールフォームを作るのは初めてなので 自分が作ったのものが公開できるレベルなのか (一般的なレベルに達しているかどうか)不安な感じです。 そこで、メールフォームについて詳しい方いらっしゃいましたら メールフォームを作る際に、押さえておくポイントについて 箇条書きで構いませんので、簡単に教えていただけないでしょうか。 例えばこんな感じで↓ ------------------- ・データの受け渡しはセッションを使う ・入力されたデータは必ずチェック ・Nullバイト攻撃対策をする ・セッションハイジャック対策する -------------------- ■私が作ってみたメールフォームの入力項目は下記のとおりです。 ------------------- <入力項目> 名前 電話番号 郵便番号 住所 メールアドレス メールアドレス(確認のため2回入力) お問合せ内容 ------------------- ■流れとしては下記のとおりです。 ------------------- 1)入力画面 ↓ 2)確認画面 ↓ 3)完了画面 ↓ 4-1)サイト運営者に入力内容が記載されたメールを送信。 4-2)ユーザーにサンクスメールを送信。 -------------------

    • ベストアンサー
    • PHP
  • PHPのメールフォームについて

    PHPの無料で使えるメールフォームを探しています^^ いろいろ探したんですが、見つかりません。 もし、ご存知でしたら、ヒントでもかまいません。教えてもられると、助かります。 ・メールアドレスを記入する際、再入力フォームに異なるメールアドレスを入れると、注意を出す。 ・必須項目設定が記入されていない場合、注意を出す。 この2つができる、PHPのメールフォームを探しています。 どうぞ、よろしくお願いします^ ^) kent-webさんのPost mailのPHP版のようなものがあると、助かります。 http://www.kent-web.com/data/postmail.html

    • ベストアンサー
    • PHP
  • PHPフォーム★画像が添付できる項目を増やしたい

    PHPフォーム★画像が添付できる項目を増やしたい 現在、PHPで作成しているフォームに 画像が添付できる項目を増やしたいです。 記述方法を教えてください。

    • 締切済み
    • PHP
  • PHPでのエラーチェックについて

    PHP 初心者デス。よろしくお願いします。 勉強のため、PHPにてメールフォームを作成してます。 PHPでのエラーチェックについて教えていただきたいのですが、 よろしくお願いします。 メールフォーム自体は下記のような流れで作成しております。 ------------------------------------------- 入力フォーム(index.php) ↓(check.php エラーチェック用ファイルとおる) 確認画面表示(confirm.php) ↓(send.php 送信処理がかかれたファイルとおる) 完了画面表示(thanks.html) ------------------------------------------- エラーチェックはindex.phpで必須項目などが、未入力、空白があれば、 送信ボタンを押した際に、index.php自体の入力フォームの下などに 「未入力です」などのエラー表示をさせたいのですが、うまくいきません。 ご教授お願いいたします。 できればSESSIONなどを使用せず行いたいですが可能でしょうか? とりあえず自力でやって、うまくいかなかったのは以下内容です。 --------------------------------------------------- check.phpにエラーチェック用処理を記載しており、index.phpのフォームには <form method="post" action="check.php"> としてます。 ですが、これだともちろんエラー表示はchek.phpに表示されてしまい、 うまくindex.phpにエラー表示ができません。 またindex.phpに入力した内容をconfirm.phpにPOSTで渡せなかったりします。 index.phpにincludeなどでchek.phpを読み込ませて、 <form method="post" action="confirm.php"> としてみても、 うまくエラーチェックが動作しなかったり、 index.phpに入力した内容をconfirm.phpにPOSTで渡せなかったり、 苦労してます。 どうかご教授のほど、よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • phpによる入力フォームのチェック

    入力フォームの入力チェックを行いたいと思います。 姓     :テキストボックス <div></div> 名     :テキストボックス <div></div> 郵便番号:xxxx <div></div> とあった場合、 javascriptで、チェックをかけ、未入力の際等に 各DIVブロックに、innerhtmlで、「入力項目を確認してください」等を 書き込ませば対応できると思っています。 PHPでもjavascriptと同じように、innerhtmlと同じようの動作をさせ ページの一部分を変更させるとか できるのでしょうか? それとも受け取った内容(POST)をチェックし、 「入力項目を確認してください」のページを別に用意する必要があるのでしょうか?

    • ベストアンサー
    • PHP
  • PHPによるメールフォームの作成について

    質問致します。文字制限があるので適所のみの抜粋ですがよろしくお願いします。 ある某PHPの参考書の付録CD-ROMにフォームメールのファイルが収められていたのですが、以下は入力フォームのformmail.html とエラー処理を表す部分のformmail.phpの抜粋です。 ./formmail.htmlにすべて入力してもエラーが出てしまいます。formmail.phpの必須項目のチェックおよびエラー時の処理のスクリプト文でおかしいところはあるでしょうか?市販されている参考書のCD-ROMをそのままコピーしたものなので動作しない事自体驚いています。どうぞよろしくお願い致します。 *formmail.html(簡潔に要約してあります) <FORM method="post" action="./formmail.php"> 名前(必須):<INPUT type="text" name="namae" size="20"> 電話番号:<INPUT type="text" name="tel" size="20"> E-mail(必須)<INPUT type="text" name="email" size="20"> </FORM> *formmail.php(必要箇所を抜粋) // 必須項目のチェック if (empty($namae)||empty($email)){ $err_message = "未入力の必須項目があります。<BR>\n"; } // エラー時の処理 if (!empty($err_message)){ echo "<HTML>\n"; echo "<HEAD>\n"; echo "<META HTTP-EQUIV=\"Content-Type\" CONTENT=\"text/html; charset=EUC-JP\">\n"; echo "<TITLE>エラー</TITLE>\n"; echo "</HEAD>\n"; echo "<BODY>\n"; echo "<H1>エラー</H1>\n"; echo $err_message; echo "ブラウザの戻るボタンで戻り正しく入力して下さい\n"; echo "</BODY>\n"; echo "</HTML>"; exit; } // メール Body(本文)の設定 $mail_body = " 名前 - $namae 電話番号 - $tel E-mail - $email ";

    • 締切済み
    • PHP
  • Access フォームを動的にカスタマイズ

    お世話になります。 Access2010 現在Accessにて、ある情報の登録フォームを作成しております。 登録項目が複数ありフォームが縦長になりそうなので、基本情報の 登録は必須とし、その他の項目はオプションにしたいと思います。 そこで、チェックボックスにチェックが入れられたら、オプションを 登録できるよう登録フォームの高さを長くするのと同時に、オプション 項目も表示させたいのですが。。どのようにすればよいでしょうか。 予めオプション項目が追加されているフォームを作成しておき、 チェックが入れられたら、そっちのフォームにすり替える方法(必須項目が 入力されていたらそれぞれコピー)や、フォームサイズは変えずに チェックが入れられたら「登録」ボタンを「次へ」に変更させ、 次画面でオプション項目を入力させたり・・色々と方法はあるかと 思いますが、上記のようにフォームの長さを変えて、項目(テキストボックスや リストボックス)を追加することは可能でしょうか。 ご教示の程、宜しくお願い致します。

  • PHPによるフォーム入力プログラムの流用性を高めたい

    フォーム入力プログラムを作る時 こんな感じのパターンが多いと思います。 [STEP1] 新規入力させる STEP2で、同意をえれない場合、入力内容を再入力する [STEP2] 必須項目が入力しているかどうかをチェックし、 できていなければ、エラーを表示する。 入力項目一覧を表示、ユーザーにこれでいいか同意を求める。 だめならSTEP1へ戻る よければSTEP3へ進む [STEP3] 入力した内容をデータベースにインサートする。 入力した内容をメールでセンドする。 二重投稿を防止する。 と、フォームのロジックパターンとしては どんなフォームを作成してもある程度決まっているのですが、 再度同じようなフォームを作成する時、 ロジックパターンはある程度決まってても 前回作成したものの流用性はほとんど効かず、 毎度作成に大変時間がかかってしまいます。 具体的には、前回作ったフォームをコピペしたり変更しても 変更する内容が多すぎて 結局、一からフォームを書くのとさほど変わらないということです。 そこでもっと流用性を高める設計方法はないのだろうかと 考えてみたのですが、良い解決方法が見つかりません。 いかなるフォーム形態であろうと、 いかなるデータ数であろうと、 自在にフォームの改変が容易にできる。 そんな設計方法があれば、アドバイスをお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう