2016-07-15 4 views
0

私は電子メールIDと携帯電話番号が存在するサインアップフォームを持っています。電子メールと電話番号を入力すると、データベーステーブルと一致し、というメールが送信されます。電子メールまたはモバイルが条件を満たしている場合は、それ以外は条件が成立します。私は試みたが、それは動作していない。データベーステーブルとのフォーム変数の一致

 if(isset($_POST["submit"])) 
          { 

           require"connection.php"; 
           extract($_POST); 

           $result12=mysql_query("select mobile,email from mainaccount") or die (mysql_error()); 
           while($row12=mysql_fetch_array($result12)) 
          { 

           if($username==$row12["mobile"] || $email==$row12["email"]) 
           { 
           echo"<b>Your Mobile number OR Email exists. Please use another Mobile number or Email!!!</b>"; 
           die(); 
           } 

           } 

      <form method="post" id="loginForm" name="loginForm" action="" onsubmit="return executeOnSubmit();"> 
      <div class="col-lg-4"> 
        Mobile No.&nbsp;<span style="color:red">*</span> 
        </div> 
        <div class="col-lg-8"> 
        <input type="number" class="form-control" value="" name="username" id="username" required /> 
        <div id="status"></div> 
        </div> 
       <div class="col-lg-4"> 
        Email.&nbsp;<span style="color:red">*</span> 
        </div> 
        <div class="col-lg-8"> 
        <input type="email" class="form-control" value="" name="email" id="email" required /> 
        <div id="status"></div> 
        </div> 
      <div class="col-lg-12-pull-right"> 
        <input type="submit" class="btn btn-success" value="Register" name="submit" /> 
        <span style="margin-left:330px;"><b style="color:red">*</b> Means compulsary fields.</span> 
        </div> 

        </form> 
+0

"WHERE"条件がSQLクエリで表示されません。 – rad11

+0

教えてください。携帯電話と電子メールの両方が必須フィールドですか? –

+0

はい。携帯電話の番号と電子メールがあります。 – user3526766

答えて

1

このようなユーザーが存在するかどうかを確認するには、このエントリを使用できません。クエリに追加する必要があります"携帯電話を選択してmainaccountからメールを送信する場合は、モバイル= $ mobileまたはemail = $ username"の条件を満たしていて、PHP側をチェックするとテーブルが空でないか、に条件を追加してください "SELECT COUNT *)をmainaccountから数えます。ここでは、mobile = $ mobile OR email = $ username "、データベースからの戻り値が0より大きいかどうかをチェックします。ただし、すべてのレコードを取得し、ループを使用して、比較がtrueを返し、次の面白いことを行う場合は、値と停止ループを比較する必要があります。

+0

OK。ありがとう、私は理解した。 – user3526766

0

データベースからすべてのレコードをフェッチする必要はありません。これを試してみてください

$result12 = mysql_query("SELECT count(*) from mainaccount where email = '$email' or mobile = '$mobile'"); 
     $row12 = mysql_fetch_assoc($result12); 
     if($row12['count(*)']>0) 
      { 
       echo"<b>Your Mobile number OR Email exists. Please use another Mobile number or Email!!!</b>"; 
       die(); 
      } 
関連する問題