2017-05-31 37 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; 
         } 
    

希望得到您的答复。

相关问题