2

3 つのアコーディオンに 3 つの異なるフォームがありますが、クエリは 1 つです。if (!empty($_POST)このクエリを送信してから、フォームを送信してください。しかし、それはオンライン何とか何とか何とかエラーであるという他のフォームのエラーを示しています。空のフィールドに対してこのエラーが表示されます。

のフィールドに対してこのエラー メッセージを非表示にする方法はありますか?

if(!empty($_POST)){

        $sql = "
            INSERT INTO 
            leave_req
            (
              `lvm_type`,
              `lvm_do`,
              `lvm_db`,
              `lvm_td`,
              `lvc_type`,
              `lvc_do`,
              `lvc_db`,
              `lvc_td`,
              `lvo_type`,
              `lvo_do`,
              `lvo_db`,
              `lvo_td`,
              `lvn_type`,
              `lvn_do`,
              `lvn_db`,
              `lvn_td`,
              `lv_reason`,
              `lv_usign`,
              `lv_rsign`,
              `lv_asign`,
              `lv_sec`,
              `lv_ip`,
              `lv_cdate`
            )
            values
            (
                '".addData($_POST['altype'])."',
                '".addData($_POST['aleave1'])."',
                '".addData($_POST['aleave2'])."',
                '".addData($_POST['altotal'])."',
                '".addData($_POST['cltype'])."',
                '".addData($_POST['cleave1'])."',
                '".addData($_POST['cleave2'])."',
                '".addData($_POST['cltotal'])."',
                'null',
                'null',
                'null',
                'null',
                'null',
                'null',
                'null',
                'null',
                'null',
                'null',
                'null',
                'null',
                'null',
                '".$ip."',
                now()
            )";
         echo "message submitted successfully";
         } else {
         echo "check your form"; }
4

2 に答える 2

1

この問題を解決する良い方法は、isset()を三項演算子と組み合わせて使用​​することです。$_POST基本的に、三項演算子は、適切なフィールドまたはのいずれかの指定された値のいずれかに評価されますnull。設定された$_POSTフィールドがある場合、それはクエリの一部になり、ない場合はnull代わりに使用されます。

<?php
if(!empty($_POST)){
    $sql = "
        INSERT INTO 
        leave_req
        (
          `lvm_type`,
          `lvm_do`,
          `lvm_db`,
          `lvm_td`,
          `lvc_type`,
          `lvc_do`,
          `lvc_db`,
          `lvc_td`,
          `lvo_type`,
          `lvo_do`,
          `lvo_db`,
          `lvo_td`,
          `lvn_type`,
          `lvn_do`,
          `lvn_db`,
          `lvn_td`,
          `lv_reason`,
          `lv_usign`,
          `lv_rsign`,
          `lv_asign`,
          `lv_sec`,
          `lv_ip`,
          `lv_cdate`
        )
        values
        (
            '" . (isset($_POST['altype']) ? addData($_POST['altype']) : 'null') . "',
            '" . (isset($_POST['aleave1']) ? addData($_POST['aleave1']) : 'null') . "',
            '" . (isset($_POST['aleave2']) ? addData($_POST['aleave2']) : 'null') . "',
            '" . (isset($_POST['altotal']) ? addData($_POST['altotal']) : 'null') . "',
            '" . (isset($_POST['cltype']) ? addData($_POST['cltype']) : 'null') . "',
            '" . (isset($_POST['cleave1']) ? addData($_POST['cleave1']) : 'null') . "',
            '" . (isset($_POST['cleave2']) ? addData($_POST['cleave2']) : 'null') . "',
            '" . (isset($_POST['cltotal']) ? addData($_POST['cltotal']) : 'null') . "',
            'null',
            'null',
            'null',
            'null',
            'null',
            'null',
            'null',
            'null',
            'null',
            'null',
            'null',
            'null',
            'null',
            '".$ip."',
            now()
        )";
        echo "message submitted successfully";
 } else {
    echo "check your form"; }
 ?>
于 2013-08-28T19:13:20.317 に答える