• ベストアンサー

初心者です!このメールフォームのタグはどこが間違ってますでしょうか?

無料のメールフォームをカスタムして使おうとして、項目を増やしたのですが増やした項目が全て認識されません。 つまり、その項目に文字を記入して送信しても「ご住所が入力されていないようです。」とエラーが出てしまいます。 どこかをちょっと書き変えれば済むような気がするのですが初心者なので検討も付きません。 アドバイスいただけましたら大変助かります。 http://www.geocities.jp/bup_3333/mx/1.txt

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

  • ベストアンサー
  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

せめて「どの項目を増やしたのか」くらいは書いておいてほしいですね。 住所を例に取ると、 <li>ご住所<BR><input type="text" name="jyuusyo" size="35">必須</li> で場所を作って、 if($jyuusyo == ""){$in_check_ok = FALSE; $msg[9] = "ご住所が入力されていないようです。";} else{if(strlen($jyuusyo) > 100){$in_check_ok = FALSE; $msg[9] = "ご住所が50文字を超えています。";}} でチェックしていますが、ここにいたるまでに $jyuusyoに値を設定しているところがありません。 ですので、ここに来た時点で(テキストエリアにデータがあろうがなかろうが)常に $jyuusyo == "" となってしまいます。 $name = $_REQUEST['name']; $mail = $_REQUEST['mail']; $url = $_REQUEST['url']; $title = $_REQUEST['title']; $comment = $_REQUEST['comment']; $upfile = $_FILES['upfile']['name']; $vol = $_FILES['upfile']['size']; $dllimit = $_REQUEST['dllimit']; if($dllimit > 0 && is_numeric($dllimit)){$zan = $dllimit - $dlcount;} else{$zan = "-"; $dllimit = "-";} $dlkey = $_REQUEST['dlkey']; //eregi("(\jpg|\jpeg|\png|\bmp|\gif)$",$_FILES['upfile']['name'],$ext); //ユーザファイル名から拡張子抜出し preg_match("/\.[^.]*$/i",$_FILES['upfile']['name'],$ext); //ユーザファイル名から拡張子抜出し $pass = $_REQUEST['pass']; $dlcount = 0; $host = $_SERVER['REMOTE_ADDR']; ↑この辺で値を取り出して変数に設定しているので、 自分の追加したフィールドに対しても同じようにしてください。 これは元の作者に言うべきことかもしれませんが >function regist(){ //▼regist >case 'regist': //▼regist >regist(); 'regist' なんて英単語はありません。

kon3914
質問者

お礼

アドバイスありがとうございます。 ご指摘の「この辺」をいじりましたら出来ました。 ありがとうございました。 registの件もありがとうございます。自分でも他にみつけたところがあってこういった素晴らしい物を公開される方もミスはあるのだなと感慨深げでした。 とにかくありがとうございました。

関連するQ&A