php
  • html
  • css
  • mysql
  • database
  • 2017-10-29 2 views 0 likes 
    0
    <!DOCTYPE html> 
    <html> 
        <head> 
         <title>Data</title> 
        </head> 
    
        <body> 
         /* POST it here */ 
         <form action="this.php" method="post"> 
          <input type='text' name='SpouseName' required/> 
          <input type='text' name='SpouseAge' /> 
          <input type="submit" name="submit" value="SUBMIT"/> 
         </form> 
        </body> 
    </html> 
    
    /* Here is the PHP CODE */ 
    <?php 
    include 'dbh2.php'; 
    $SpouseName = $_POST['SpouseName']; 
    $SpouseAge = $_POST['SpouseAge']; 
    $sql = "INSERT INTO test (SpouseName, SpouseAge) VALUES ('$SpouseName', '$SpouseAge')";  
    $result = $conn->query($sql); 
    ?> 
    

    空白の入力を配偶者のように無視したいと思いますか?データベースへの保存時に空の入力を無視する方法

    答えて

    1

    あなたは値がisset()で設定されていることを確認し、彼らは!empty()で空じゃないことを確認することができます。

    $SpouseName = $_POST['SpouseName']; 
    $SpouseAge = $_POST['SpouseAge']; 
    if (isset($SpouseName) && !empty($SpouseName) && isset($SpouseAge) && !empty($SpouseAge)) { 
        $sql = "INSERT INTO test (SpouseName,SpouseAge) VALUES ('$SpouseName','$SpouseAge')"; 
    } else { 
        echo "The values weren't set or were empty!"; 
    } 
    

    ノートけれども、それは$_POST値が設定されているチェックした方が良いということ変数に代入する前に空ではなく:

    if (isset($_POST['SpouseName']) && !empty($_POST['SpouseName'])) { 
        $SpouseName = $_POST['SpouseName'] 
    } 
    if (isset($_POST['SpouseAge']) && !empty($_POST['SpouseAge'])) { 
        $SpouseAge = $_POST['SpouseAge']; 
    } 
    if ($SpouseName && $SposeAge) { 
        $sql = "INSERT INTO test (SpouseName,SpouseAge) VALUES ('$SpouseName','$SpouseAge')"; 
    } else { 
        echo "The values weren't set or were empty!"; 
    } 
    

    これが役に立ちます:)

    +0

    あなたは間違って第二の可変を綴られてきたように見えます。if($ SpouseName && $ SposeAge){ - $ SpouseAge –

    +0

    @giollianosulit - グッドスポッティング!それがどうやって起こったかわからない。私は今それを修正しました:) –

    +0

    私は多くの入力を私はちょうど2つの入力を入力する必要があります 私はデータベースに保存するときに空の入力を無視することができますそれは未確認のインデックスが記入された入力はデータベースに保存されます –

    0

    私は2つのセクションにクエリを分割しました。これで、入力ごとにフォームの検証を行い、データをテストできます。私はまた、それがクリックされているかどうかを確認するためにsubmitのためにissetを配置しました。次に、挿入されていない場合は空であるかどうかをテストし、それぞれに対して行います。

    if(isset($_POST['submit'])){ 
    $SpouseName = $_POST['SpouseName']; 
    $SpouseAge = $_POST['SpouseAge']; 
    if(!$SpouseName==''){$sql = "INSERT INTO test (SpouseName) VALUES ('$SpouseName')";} 
    if(!$SpouseAge ==''){$sqlb = "INSERT INTO test (SpouseAge) VALUES ('$SpouseAge')"; 
    } 
    } 
    
    +0

    このコードでは、2つの異なるクエリが実行され、OPのニーズとは異なる2つの異なるレコードがデータベースに挿入されます。 – EhsanT

    関連する問題