CGI-BBS > 情報収集 > フォームメール > フォームメールについて記入漏れ等のチェックを実行したい。


カレッヂ
カレッヂ


質問者 eternity  投稿日 2004/3/12(金) 11:30:51
<?

if($submit == "送信"){

if ((! empty($HTTP_POST_VARS['tuki']))){
}

else{
    print("記入もれです。<br><a href='index.html'>戻る</a><br>\n");
    exit;
}

}


$HTTP_POST_VARS = preg_replace("/\r\n/","\n",$HTTP_POST_VARS);
$HTTP_POST_VARS = preg_replace("/\r/","\n",$HTTP_POST_VARS);
$HTTP_POST_VARS = preg_replace("/\n/","<br>",$HTTP_POST_VARS);


    $reply = "メールアドレス";

    $to= "$reply";
    $subject = "prism\n\n";
    $mail .= "内容\n\n";
    $mail .= "月=".$HTTP_POST_VARS['tuki']."\n\n";
    $mail .= "日=".$HTTP_POST_VARS['niti']."\n\n";
    $mail .= "現金売上=".$HTTP_POST_VARS['cardage']."\n\n";
    $mail .= "カード売上=".$HTTP_POST_VARS['urikake']."\n\n";
    $mail .= "売掛売上=".$HTTP_POST_VARS['souuri']."\n\n";
    $mail .= "総売上=".$HTTP_POST_VARS['nyukinn']."\n\n";
    $mail .= "売掛入金=".$HTTP_POST_VARS['hibarai']."\n\n";
    $mail .= "日払い合計=".$HTTP_POST_VARS['zanndaka']."\n\n";
    $mail .= "現金残高=".$HTTP_POST_VARS['genkin']."\n\n";
    $mail .= "『コメント』".$HTTP_POST_VARS['coment']."\n\n";
    mail("$to", $subject, $mail, "Content-Type: text/plain;\n charset=\"iso-2022-jp\"\n");


?>

<html>
<head>
<title>送信受付</title>
</head>
<body>
<div align="left">
内容
      <br><br>
        <? print $HTTP_POST_VARS['tuki'];?>月
        <? print $HTTP_POST_VARS['niti'];?>日<br><br>
現金売上=<? print $HTTP_POST_VARS['cardage'];?><br>
カード売上=<? print $HTTP_POST_VARS['urikake'];?><br>
売掛売上=<? print $HTTP_POST_VARS['souuri'];?><br>	
総売上=<? print $HTTP_POST_VARS['nyukinn'];?><br>
売掛入金=<? print $HTTP_POST_VARS['hibarai'];?><br>
日払い合計=<? print $HTTP_POST_VARS['zanndaka'];?><br>
現金残高=<? print $HTTP_POST_VARS['genkin'];?><br>
『コメント』<br>
<? print $HTTP_POST_VARS['coment'];?>
</div>
</body>
</html>
上記のようになっているのですが、記入漏れチェックがうまくいきません。
もし、"tuki"というところに記入がなかった場合「記入漏れです」と表示するには
どうしたらいいでしょうか?お願いします。

プロバイダ参照:
サーバのOS:(未選択)
パソコンのOS:(未選択)
エディタ:
FTPソフト:FFFTP
サーバ移転:していない
改造:していない 改造前不動
CGI習熟度:beginner

回答者 domo  [削除]  投稿日 2004/3/12(金) 18:20:57
php でしょうか。 $submit を下記のように取得してみるとどうなりますか。
  
  $submit = $HTTP_POST_VARS['submit'];
  if ($submit == '送信') { }
回答者 sim  [削除]  投稿日 2004/3/13(土) 02:05:18
$HTTP_POST_VARSは<form>に記載されているname属性を持ってきてると思うので、
空にはならないと思います。

すべての項目を空にはしたくない場合は下記のような感じだと思います。

while ( list( $key, $val ) = each( $HTTP_POST_VARS ) ) {
if(!isset($val)){print $key . "に入力がありません";exit;}
}

一部のみ制限したいのであれば

if(!isset($HTTP_POST_VARS['name属性名'})){exit('error');}

にすればよいかと思います。
回答者 sim  [削除]  投稿日 2004/3/13(土) 02:06:02
あう。全然見間違えてました。
駄文すいません。
質問者 eternity  [削除]  投稿日 2004/3/16(火) 16:22:18
お返事ありがとうございました!
色々試した結果なんとかできました^^;

このページは終了したので返信(回答)は書きこめません
 


Web裏技