2017-05-31 35 views
1

我是新的使用PHP,我正在爲我的頁面做一個登錄窗口,如果來自輸入的電子郵件和密碼與數據庫中的電子郵件和密碼相同;我已經對電子郵件進行了比較,但我不知道如何檢索該電子郵件的確切密碼,並將其與密碼輸入進行比較以確定它是否相同。 這是我有我的PHP:MySQL使用電子郵件字段從數據庫中檢索密碼字段

$password=$_POST['password']; 
$email=$_POST['email']; 
$query = mysql_query("SELECT email FROM Register WHERE email = '$email'"); 
$query2 = mysql_query("SELECT password FROM Register WHERE email = '$email', password = '$password'"); 



    if(!$email) 
    { 
     if (!$password) 
     { 
      echo ' 
      <script> 
      alert("Email and password are required."); 
      window.history.go(-1); 
      </script>'; 
      exit; 
     } 
     else 
     { 
      echo ' 
      <script> 
      alert("Email Required."); 
      window.history.go(-1); 
      </script>'; 
      exit; 
     }   
    } 

    if (!$password) 
    { 
     echo ' 
     <script> 
     alert("Password required."); 
     window.history.go(-1); 
     </script>'; 
     exit; 
    } 

    else 
    { 


     if(!mysql_num_rows($query)) 
     { 
      echo ' 
      <script> 
      alert("The email is not the same or does not exist"); 
      window.history.go(-1); 
      </script>'; 
      exit; 
     } 

     if($query2==$password) 
     { 
      echo ' 
      <script> 
      alert("Succesful Login"); 
      window.history.go(-1); 
      </script>'; 
      exit; 
     } 

     else 
     { 
      echo ' 
      <script> 
      alert("Password is not the same, please verify."); 
      window.history.go(-1); 
      </script>'; 
      exit; 

     } 




    } 

順便說一句,謝謝你的幫助

+0

是你的密碼加密? – Exprator

+0

不,不,我用POST簡單,在HTML – Cheygipe

+0

中鍵入「密碼」,然後在第二個查詢中輸入並輸入AND而不是逗號後的電子郵件地址= $ email和password = $密碼。 – Exprator

回答

1

普萊斯試試這個

mysqli_query("SELECT * FROM Register WHERE email = '$email' and password ='$password'"); 

if(mysql_num_rows($query)) 
{ 
      echo ' 
      <script> 
      alert("Succesful Login"); 
      window.history.go(-1); 
      </script>'; 
      exit; 
} 
else 
{ 
      echo ' 
      <script> 
      alert("The email is not the same or does not exist"); 
      window.history.go(-1); 
      </script>'; 
      exit; 

} 
+0

謝謝,工作很不錯 – Cheygipe

1

更改查詢像下面

SELECT password FROM Register WHERE email = '$email' AND password = '$password'

還可以使用mysqli的*因爲MySQL *已棄用並已徹底刪除,在7頁

https://www.w3schools.com/php/php_ref_mysqli.asp

+0

謝謝,還需要使用mysql_num_rows($ query2)進行驗證if if – Cheygipe

1
    您使用
  1. 「」 而不是 「AND」。使用和它應該解決
  2. 執行第二個查詢後,您的數據將在$查詢。你必須使用

    $data=mysql_fetch_array($query); 
    $data['password'];// there contains password 
    so you code this 
    if($query2==$password) 
         { 
          echo ' 
          <script> 
          alert("Succesful Login"); 
          window.history.go(-1); 
          </script>'; 
          exit; 
         } 
    will be changed to 
    if($data['password']==$password) 
         { 
          echo ' 
          <script> 
          alert("Succesful Login"); 
          window.history.go(-1); 
          </script>'; 
          exit; 
         } 
    

希望得到您的答覆。

相關問題