2015-10-16 102 views
0

我正在製作PHP通訊腳本,我對代碼不是很有經驗,但我盡我所能改進,我只是需要一些想法才能使其工作。PHP腳本,用於檢查表中是否存在電子郵件

function validate(){ 
    if(isset($_POST['email'])){ 
     $email = $_POST["email"]; 
     if (!filter_var($email, FILTER_VALIDATE_EMAIL)) { 
     echo "<br>Va rugam introduceti o adresa valida de email"; 
     }else{ 
      return 1; 
     } 
     } 
    } 



function checkmail(){ 
     if(validate()==1){ 
      if(isset($_POST['email'])){ 
       $email = $_POST['email']; 
       $sql = "SELECT * FROM subscribe WHERE email LIKE '$email'"; 
       $connect = new mysqli("localhost", "root", "", "alexandru"); 
       $result = mysqli_query($connect,$sql); 
       echo print_r($result); 
      }   
     } 

    } 

我不知道我怎麼能檢查查詢的結果,我需要一些想法,感謝

+1

通過了清潔'$ _ POST [「郵件」]'作爲一個參數,而不是功能。此外,不要每次都建立一個數據庫連接,包括一個已經擁有它的文件。這樣你的代碼就會更加分離,並且在未來更容易調試。 – Script47

+0

感謝您的提示,我會這樣做,我讚賞它。 –

+0

所以這個想法是,你插入它之前檢查電子郵件是否存在於'subscribe'表中? – Mjh

回答

1

我做了這個簡單的功能,您可以使用。

function field_exists($field_name, $field_value, $table)  
    { 
     global $conn; 
     try 
     { 
      $s = $conn->prepare("SELECT * from $table where $field_name = :f_value"); 
      $s->bindParam(':f_value', $field_value); 
      $s->execute(); 
      if($s->rowCount() > 0) 
      { 
       return true; 
      } 
      else 
      { 
       return false; 
      } 
     } 
     catch(PDOException $e) 
     { 
      echo $e->getMessage(); 
     } 
    }//function 

使用此函數,您可以檢查任何表中指定列的任何值。

所以你的情況,該$field_nameemail$field_value$email和表將subscribers

使用

if(field_exists("email", $email, "subscribers")) 
{ 
//email exists 
} 
else 
{ 
//email doesn't exist 
} 

如果該電子郵件的表存在函數將返回true,如果郵件不假。

+2

使用全局變量。哦。這很痛。 –

+0

OP使用mysqli,涉及PDOException。 – syck

+0

@syck 他可以很容易地將其轉換爲mysqli。我只是複製粘貼我爲自己做的這種檢查的功能;) – Akshay

-1

此代碼我用哎呀內部消除概念,我practicle我思,它會幫助

extract($_POST); 
    $qwe = "SELECT * FROM user_info where email= '$email'"; 
    $result = mysqli_query($con, $qwe); 
    if (mysqli_fetch_row($result) >= 1) { 
     header("Location: userreg.php?err=msg"); 
    } 
    else { 
     // query for what u want after check mail doesn't exist 
    }