2017-11-18 3 views
0

これは私が持っているもので、動作しません。 Your_Location.phpのフィールドが空であるかどうかを確認する必要があります。そうであれば、エラーを投げます。そうでなければ;次のようにクエリを実行します。それは私が(!mysqli_query($ CONN、$ sqlinsert))どのようにPHPを空にするためにチェックし、そうでなければSQLクエリを実行するのですか?

<?php 
    //session_start(); 
    include 'dbConfig.php'; 
    include 'Your_Location.php'; 

    $childfirst = $_POST['element_1']; 
    $childlast = $_POST['element_2']; 
    $childdobyear = $_POST['element_3_3']; 
    $childdobmon = $_POST['element_3_1']; 
    $childdobday = $_POST['element_3_2']; 
    $childbaptize = $_POST['element_4']; 
    $childrelationship = $_POST['inputrelation']; 
    $childdob = "$childdobyear-$childdobmon-$childdobday"; 



    $sqlinsert="INSERT INTO memchild (ID, FirstName, LastName, DOB, Baptize, Relationship) 
    VALUES 
    ('$getid2','$childfirst','$childlast','$childdob','$childbaptize','$childrelationship')"; 



    //Build arrays of fields 

    $required = array('element_1', 'element_2', 'element_3_3', 'element_3_2', 'element_3_1', 'elelment_4', 'inputrelation'); 

    //Loop to check for empties 
    $error = false; 

    foreach($required as $fields) { 
     if(empty($_POST[$fields])){ 
      $error = true; 
     } 
    } 

    if($error){ 
    Sleep(3) 
    ?> 
    <script> 
     document.getElementById('li_9').innerHTML = '* $childfirst Make sure the fields are not empty.'; 
    </script> 
    <?php 
    exit(); 
    }Else{ 
    mysqli_query($conn,$sqlinsert) 
    ?> 
    <script> 
     document.getElementById('li_9').innerHTML = '$childfirst $childlast has been added.'; 
    </script> 
    <?php 
    sleep(3); 
    echo "<meta http-equiv='refresh' content='0'>"; 
    } 
    ?> 
+0

これは機能しますが、フィールドが空であるかどうかを確認して確認する必要があります。 "; } ?> –

+0

これは 'Java'と何が関係していますか?おそらく 'JavaScript'を意味しましたか?これはまったく別の言語ですか? – Andreas

答えて

1

まず、キーが実際に存在するかどうかをチェックしてみてくださいためにそれが動作願っています。

$childfirst = isset($_POST['element_1'])? $_POST['element_1'] : null; 

第二に、あなたが記入されていないものを、フィールドをチェックすることができます

$errorMessage = ''; 
foreach($required as $key) { 
    if(empty($_POST[$key])){ 
     $error = true; 
     // break; // Uncomment if you want to exit the loop if one field is not set 
     // $errorMessage .= $key . ' is not filled in'; // Uncomment if you want to add message for every missing key 
    } 
} 

スクリプトのために、あなたはJavaScriptでPHPの値を結合しようとしている、あなたが実際のように値をエコーまたは印刷する必要がありますこの:

<script> 
    document.getElementById('li_9').innerHTML += "* <?php echo $childfirst;?> Make sure the fields are not empty."; 
</script> 

と、第二1

<script> 
    document.getElementById('li_9').innerHTML += "<?php echo $childFirst . ' ' . $childLast;?> has been added."; 
</script> 
について
+0

は機能しますが、ブレークを解除するとループを壊すことはありません。 –

+0

@JohnHangループを終了し、foreach(){}の後の行を引き続き実行します。コードの実行を停止する場合は、ブレークを置き換えます。 exit(); –

0

場合//に投げる場合はちょっとあなたのエラーはあなたがチェックし、その

変更にすでにこの行を空にしないように、文字列値を渡して動作します

$required = array("$element_1", "$element_2"); 

$required = array('element_1', 'element_2', 'element_3_3', 'element_3_2', 'element_3_1', 'elelment_4', 'inputrelation'); 

他の要素を追加しすぎ

、あまりにも

foreach($required as $fields) { 
    if(empty($fields)){ 
     $error = true; 
    } 
} 

これを変更するには、あなた

関連する問題