• 締切済み

送信フォームで必須項目を直したい。現在では全部必須項目になっているので

送信フォームで必須項目を直したい。現在では全部必須項目になっているのですが それを一部だけ必須項目にしたいのです。どこをいじればいいのでしょうか? <? require_once("./lib/form_check.lib"); $type = $_POST['type']; $company = strip_tags( $_POST['company'] ); $industry =strip_tags( $_POST['industry'] ); $post = strip_tags( $_POST['post'] ); $name = strip_tags( $_POST['name'] ); $address = strip_tags( $_POST['address'] ); $tel = strip_tags( $_POST['tel'] ); $mail = strip_tags( $_POST['mail'] ); $detail = strip_tags( $_POST['detail'] ); $form_check = $_POST['form_check']; empty_check($company,$industry,$post,$name,$address,$tel,$mail,$detail); type_name($type); ?>

  • PHP
  • 回答数2
  • ありがとう数3

みんなの回答

  • Sylar
  • ベストアンサー率71% (10/14)
回答No.2

empty_check($company,$industry,$post,$name,$address,$tel,$mail,$detail); 単純にこの中身から必須じゃないやつをけせばいいのでは? たとえば empty_check($name,$address,$tel,$mail);という具合に。 というか、丸投げにしないで「引数」の意味ぐらいは調べてみましょう。

  • ponzuinfo
  • ベストアンサー率53% (16/30)
回答No.1

ソースが一部すぎるような気がするのですが 関数名から察するにempty_check()で空かどうか調べていそうなので empty_check()の引数から任意にしたい項目をはずして empty_check()の引数の個数を変えればいいのではないでしょうか 頻繁に個数を変える場合empty_check()の引数を配列で受け取るようにしておけばいいような気もします。 例えば、引数に"項目名"と"入力された内容"を対応させて配列にいれ、それを引数でempty_checkにわたして for(i=0;i<配列の数-1;i++) { if(内容[i]=="") { echo 項目名[i] . "が未入力です";//echoの使い方ってこれであってましたっけ? } } みたいにしてみては?

naiteisyou
質問者

お礼

ありがとうございます。前の人から引継ぎでまったく分からない状態です。 引数というのがどこにあるのかわからないのです。 これとか <?/*------------------------------FORM CHECK------------------------------*/?> <?form_check($company,$industry,$post,$name,$address,$tel,$mail,$detail);?> <?mail_check($company,$industry,$post,$name,$address,$tel,$mail,$detail);?> <?tel_check($company,$industry,$post,$name,$address,$tel,$mail,$detail);?> これは <?if(!$form_check):?> <input type="hidden" name="type" value="<?="$type"?>"> <input type="hidden" name="company" value="<?="$company"?>"> <input type="hidden" name="industry" value="<?="$industry"?>"> <input type="hidden" name="post" value="<?="$post"?>"> <input type="hidden" name="name" value="<?="$name"?>"> <input type="hidden" name="address" value="<?="$address"?>"> <input type="hidden" name="tel" value="<?="$tel"?>"> <input type="hidden" name="mail" value="<?="$mail"?>"> <input type="hidden" name="detail" value="<?="$detail"?>"> <td colspan="2" align="center" bgcolor="#ffffff" width="450"><input value="送信" type="submit"></td> <?else:?> <input type="hidden" name="re_type" value="<?="$type"?>"> <input type="hidden" name="re_company" value="<?="$company"?>"> <input type="hidden" name="re_industry" value="<?="$industry"?>"> <input type="hidden" name="re_post" value="<?="$post"?>"> <input type="hidden" name="re_name" value="<?="$name"?>"> <input type="hidden" name="re_address" value="<?="$address"?>"> <input type="hidden" name="re_tel" value="<?="$tel"?>"> <input type="hidden" name="re_mail" value="<?="$mail"?>"> <input type="hidden" name="re_detail" value="<?="$detail"?>"> <td colspan="2" align="center" bgcolor="#ffffff" width="450"><input value="確認" type="submit"></td> <?endif;?> 関係ありあますか?

関連するQ&A

  • 件名が文字化けしてしまう。PHPで送信フォームを作成しましたが件名が?

    件名が文字化けしてしまう。PHPで送信フォームを作成しましたが件名が?????と 文字化けします。 <? require_once("./lib/form_check.lib"); $type = $_POST['type']; $company = $_POST['company']; $industry = $_POST['industry']; $post = $_POST['post']; $name = $_POST['name']; $address = $_POST['address']; $tel = $_POST['tel']; $mail = $_POST['mail']; $detail = $_POST['detail']; type_name($type); $to = "■■■@■■■■"; $subject = "お問い合わせ"; $header= "From:".$mail; $msg ="────────────────────────────────────────────\n"; $msg .="■お問い合わせ内容\n".$type_name."\n\n"; $msg .="■会社名\n".$company."\n\n"; $msg .="■業種\n".$industry."\n\n"; $msg .="■役職・部署名\n".$post."\n\n"; $msg .="■氏名\n".$name."\n\n"; $msg .="■住所\n".$address."\n\n"; $msg .="■電話番号\n".$tel."\n\n"; $msg .="■メールアドレス\n".$mail."\n\n"; $msg .="■お問い合わせ詳細\n".$detail."\n"; mail($to,$subject,$msg,$header); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="ja" xml:lang="ja"> <head> <title>お問い合わせ</title> <meta http-equiv="cache-control" content="no-cache"> <meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> これではダメなので mb_language("japanese"); mb_internal_encoding("EUC-JP"); mb_send_mail($to,$subject,$msg,$header); と付け足しました。 これで件名が????になるのはふせげたのですが今度は送信後のページ全体が 文字化けとなりお手上げ状態です。 どう組めばいいのでしょうか?

    • 締切済み
    • PHP
  • メールフォームにある必須入力について

    こんばんは、今メールフォームを作っています。入力画面→確認画面→完了ページという流れで作ったのですがよく必須項目に何も入れなかったり、間違った文字をいれたりするとエラーページが表示されるようにしたいと思っているのですが、なかなか上手くできません。下記のスクリプトからだとどうやってやったら良いのでしょうか?よろしくおねがいします。 <?php if (! isset($_POST[btn1]) and! isset($_POST[btn2]) and! isset($_POST[cancel])) { //入力画面 $body = "必要な項目を入力して[OK]ボタンをクリックしてください。 <FORM action='$_SERVER[PHP_SELF]' method='POST'> 名前:<INPUT size='40' type='text' name='name'><BR><BR> フリガナ:<INPUT size='40' type='text' name='kana'><BR><BR> 電話番号:<INPUT size='40' type='text' name='tel'><BR><BR> E-Mailアドレス:<INPUT size='40' type='text' name='email'><BR><BR> お問い合わせ内容:<BR><TEXTAREA rows='6' cols='40' name='inquiry'></TEXTAREA><BR><BR> <INPUT type='submit' name='btn1' value=' OK '> </FORM>"; } elseif (isset($_POST[btn1])) { //入力画面で[OK]がクリックされたとき $name = htmlspecialchars(stripcslashes($_POST[name])); $kana = htmlspecialchars(stripcslashes($_POST[kana])); $tel = htmlspecialchars(stripcslashes($_POST[tel])); $email = htmlspecialchars(stripcslashes($_POST[email])); $inquiry = htmlspecialchars(stripcslashes($_POST[inquiry])); $body = "ご入力した内容でメッセージを送信します。<BR> よろしければ[送信]ボタンをクリックしてください。 <FORM action='$_SERVER[PHP_SELF]' method='POST'> 名前:$name<BR><BR> フリガナ:$kana<BR><BR> 電話番号:$tel<BR><BR> E-Mailアドレス:$email<BR><BR> お問い合わせ内容:<BR>" . nl2br($inquiry) . "<BR><BR> <INPUT type='submit' name='btn2' value=' 送信 '> <INPUT type='submit' name='cancel' value='キャンセル'> <INPUT type='hidden' name='name' value=\"$name\"> <INPUT type='hidden' name='kana' value=\"$kana\"> <INPUT type='hidden' name='tel' value=\"$tel\"> <INPUT type='hidden' name='email' value=\"$email\"> <INPUT type='hidden' name='inquiry' value=\"$inquiry\"> </FORM>"; } elseif (isset($_POST[btn2])) { //確認画面で[送信]がクリックされたとき //メールの送信処理を行う $name = stripcslashes($_POST[name]); $kana = stripcslashes($_POST[kana]); $tel = stripcslashes($_POST[tel]); $email = stripcslashes($_POST[email]); $inquiry = stripcslashes($_POST[inquiry]); $mailto = "kuma202000@yahoo.co.jp"; $mailsbj = "メールフォームからの送信"; $mailbody = "$name さんからのメールが届きました。\n" . "---------------------------------------------\n" . "名前:$name \n" . "フリガナ:$kana \n" . "電話番号:$tel \n" . "E-Mailアドレス:$email \n" . "メッセージ:$inquiry \n" . "---------------------------------------------\n"; mb_language("ja"); if (mb_send_mail($mailto, $mailsbj, $mailbody, $mailheader)) { $body = "メールを送信しました。ありがとうございました。<BR><BR>"; } else { $body = "メールの送信に失敗しました。<BR><BR>"; } $body .= "<A href='$_SERVER[PHP_SELF]'>戻る</A>"; } elseif (isset($_POST[cancel])) { //確認画面で[キャンセル]がクリックされたとき header("location: $_SERVER[PHP_SELF]"); exit(); } ?> <HTML> <HEAD> </HEAD> <BODY> <?=$body?> </BODY> </HTML>

    • 締切済み
    • PHP
  • メールフォームで必須項目の仕方

    メールフォームで必須項目を入力しないと送信できないようにするにはどうすればいいでしょうか? 現在は以下のとおりに書いてありますが、必須項目に書いてなくても送信できてしまいます。 <form method="post" action="CGI"> <h3>お問い合わせフォーム</h3> <p>*は必須項目です。</p> <table> <tbody> <tr> <th>お問い合わせ内容*</th> <td><textarea name="お問い合わせ内容" class="l" cols="40" rows="12"></textarea></td> </tr> <tr> <th>お名前(漢字)*</th> <td><input type="text" name="お名前(漢字)" class="m"></td> </tr> <tr> <th>お名前(フリガナ)*</th> <td><input type="text" name="お名前(フリガナ)" class="m"></td> </tr> <tr> <th>E-Mail*</th> <td><input type="text" name="E-mail" class="l"></td> </tr> <tr> <th>電話番号(半角)*</th> <td><input type="text" name="電話番号" class="l"></td> </tr> </tbody> </table> <input type="submit" value="  送信  " class="button"></form> また必須項目が未入力のときにエラーメッセージ(「お名前が未入力です。」など)を出したいのですがどのようにすればいいですか?

    • ベストアンサー
    • CGI
  • フォームを必須項目にしたい

    *印を必須項目にしたいです。 どうすればいいですか? <form action="mailto:***@***.co.jp" method="POST" enctype="text/plain" name="signup" onSubmit="return validateForm(this,arrFormValidation);"> <table cellspacing="2" cellpadding="2" border="0" class="body" width="601"> <tr> <td align="left" width="120" valign="top" bgcolor="#D5CED1" title="全角"><font color="#A4003A">*<font color="#320012">名字 :</font></font></td> <td valign="top" width="463"><input type="text" name="名字" size="20"></td> </tr> <tr> <td align="left" width="120" valign="top" bgcolor="#D5CED1" title="任意に入力してください。"><font color="#320012"> 電話番号 :</font></td> <td valign="top" width="463"><input type="text" name="電話番号" size="20"></td> </tr> <tr> <td align="left" width="120" valign="top" bgcolor="#D5CED1"><font color="#A4003A">*<font color="#320012"></font></font><font color="#320012">アンケート</font></td> <td valign="top" width="463"> 項目1  <input type="radio" value="1" name="項目1">1  <input type="radio" value="2" name="項目1">2<br> 項目2  <input type="radio" value="1" name="項目2">1  <input type="radio" value="2" name="項目2">2 </td> </tr> <tr> <td align="left" width="120" valign="top" bgcolor="#D5CED1"><font color="#320012"> 送信 :</font></td> <td width="463"> <input type="submit" name="B1" value="送信" style="background:#5C5868;color:#E4FF00;" title="送信を開始する祢。"></td> </tr> </table> </form>

  • メールフォームのファイル送信の必須項目について

    PHPプログラム配布サイトPHP工房 さんのPHP多機能メールフォーム 全機能搭載版(有料版)を利用しています。 これでファイル送信を必須項目にしたいです。 <input type="file" name="upfile[]" /> <input type="file" name="upfile[]" /> <input type="file" name="upfile[]" /> <input type="file" name="upfile[]" /> 複数ありまして全部で4つ設置します。 --------------- 必須入力項目(入力フォームで指定したname属性の値を指定してください。 --------------- のところで'upfile'といれたのですが、これだ画像を添付しても「入力されていません」となり確認画面に移行しませんでした。 ファイル添付を必須項目にしたいのですがどうすればいいでしょうか。やり方お判りのかたいらっしゃいましたらご教授願います。 また、 確認画面でファイル1、ファイル2,ファイル3,ファイル4として添付した画像を表示させることが可能でしたら合わせて教えてほしいです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • フォームの必須事項について

    よろしくお願いします。 以下のようなメールフォームを作成しました。 <form action="../../cgi-bin1/questionform.cgi" method="post"> <p>・名前<br /> <input type="text" name="お名前" size="40" /> </p> <p>・メールアドレス<br /> <input type="text" name="email" size="40" style="ime-mode:disabled" /> </p> <p>・郵便番号<br /> <input type="text" name="郵便番号" size="10" style="ime-mode:disabled" /> </p> <p> <input type="submit" value="登録" /> <input type="reset" value="リセット" /> </p> </form> 上記のメールアドレスとお名前の入力が無いと、送信出来ないように必須事項にしたいのですが、このような場合は、htmlに何らかの記述をすればよいのでしょうか? 全てを必須にするには以下の記述をすれば良いようですが、私が実行したい内容とは少し異なっていたためご質問をさせていただきました。 <input type="hidden" name="space_check" value="on"> そしてどうやら、java スクリプトを使うと良いようですが解説しているサイトを一度拝見したのですが全く分かりませんでした。 どなた様か、ご指導の程よろしくお願いします。

    • ベストアンサー
    • Java
  • FORMで送信された項目名の格納場所は?

    phpをさわりはじめたばかりの者です。 FORMで送信する項目を全て必須項目としたい時、全項目分だけ、$_POST['FORMのNAME値']でFORMのVALUE値を確認すれば目的は達せられると思うのですが、極端な話になりますが、項目数がとても多い場合は、それだけ記述すべき行数が増えてしまうんじゃないかと思いますがどうなんでしょう? count($_POST)でFORMから送られた項目総数が出せるのなら、送られた項目名(NAME値)はどのような記述で出せるのか調べてみましたが、私の調べた限りでは見つけることができませんでした。 例えば、項目総数分だけ、$_POST['項目名']を繰り返す・・・というようなfor文にでもできれば、よりスマートなのかな?と考えては見たものの、送信された項目名がどのような記述で得られるのかがわかりません。 どなたかご存知の方がいらっしゃいましたら、教えていただけますか?

    • ベストアンサー
    • PHP
  • ラジオボタンでチェックした項目を必須にし、javascriptでアラートを出したい

    こんにちは・・・。 前回はphpで同じ質問をしたのですが、今回はjavascriptを使わなくてはなりません・・・OTL 重複質問のようで申し訳ないのですが、 連絡先方法【必須】をラジオボタンで選択した際、選択した項目(テキストエリア)を必須にしたいのです。 連絡先方法を必須にするやり方はわかりますが、それ以降がわかりません。。 どなたかご教授願います!! <input type="radio" name="renraku" value="TEL">TEL   <input type="radio" name="renraku" value="FAX">FAX   <input type="radio" name="renraku" value="E-Mail">E-Mail function CheckInput(){ /*----- check -----*/ flag = 0; for ( i = 0 ; i < document.form_1.renraku.length ; i++){ if (document.form_1.renraku[i].checked){ flag = 1; } } if (!flag){ alert('御希望連絡方法を選択して下さい'); return false; } } この続きを教えて下さい・・・お願い致します!

  • 複数のフォームから送信

    複数のフォームからtextの値を送信したいのですができますか?〒番号を入力して検索ボタンをおすと住所がでてきて最後に登録をしたいです。検索だけのプログラムはできてますがフォームを二つにすると両方のsubmitが登録になります・・・ 一応自分でいろいろためしましたがだめでした。。。 html,php,javascriptです。 二つともだめでした。。。。 rei1.php ------------------------- <html> <body <form method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> <br> <form method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> -------------------------------------- rei2.php -------------------------------------- <html> <head> <script language="javascript"><!-- function send() { document.nform.submit(); document.nform2.submit(); document.nform3.submit(); } //--></script> </head> <body> <form name="nform" method="POST" action="1.php"> お名前:<input type="text" name="name"> <br> </form> <form name="nform2" method="POST" action="yubin.php"> 〒:<input type="text" name="yubin"> <input type="submit" value="検索"> <br> 住所:<input type="text" name="zyu"> <br> </form> <form name="nform3" method="POST" action="1.php"> メールアドレス:<input type="text" name="email"> <br> <input type="submit" value="登録する"> </form> </body> </html> ------------------------------------

  • メールフォームの必須事項設定について

    よろしくお願いします。 以下のようなメールフォームを作成しました。 <form action="../../cgi-bin1/questionform.cgi" method="post"> <p>・名前<br /> <input type="text" name="お名前" size="40" /> </p> <p>・メールアドレス<br /> <input type="text" name="email" size="40" style="ime-mode:disabled" /> </p> <p>・郵便番号<br /> <input type="text" name="郵便番号" size="10" style="ime-mode:disabled" /> </p> <p> <input type="submit" value="登録" /> <input type="reset" value="リセット" /> </p> </form> 上記のメールアドレスとお名前の入力が無いと、送信出来ないように必須事項にしたいのですが、このような場合は、htmlに何らかの記述をすればよいのでしょうか? 全てを必須にするには以下の記述をすれば良いようですが、私が実行したい内容とは少し異なっていたためご質問をさせていただきました。 <input type="hidden" name="space_check" value="on"> どなた様か、ご指導の程よろしくお願いします。

専門家に質問してみよう