2016-10-06 7 views
2

Wir verwenden den folgenden Code für "Anmeldung". Wir haben nur Passwort Feld, möchten wir hinzufügen bestätigen Passwort Feld.Bestätigen Sie das Passwort mit bestätigen Passwort während der Anmeldung in PHP

signup.php

if(isset($_POST['btn-signup'])) 
{ 
    $uname = trim($_POST['txtuname']); 
    $email = trim($_POST['txtemail']); 
    $upass = trim($_POST['txtpass']); 
    $code = md5(uniqid(rand())); 

    $stmt = $reg_user->runQuery("SELECT * FROM tbl_users WHERE userEmail=:email_id"); 
    $stmt->execute(array(":email_id"=>$email)); 
    $row = $stmt->fetch(PDO::FETCH_ASSOC); 

    if($stmt->rowCount() > 0) 
    { 
     $msg = " 
       email allready exists 
       "; 
    } 
    else 
    { 
     if($reg_user->register($uname,$email,$upass,$code)) 
     {   
      $id = $reg_user->lasdID();  
      $key = base64_encode($id); 
      $id = $key; 

      $message = "      
         some message"; 

      $subject = "Confirm Registration"; 

      $reg_user->send_mail($email,$message,$subject); 
      $msg = " 
        some message 
        "; 
     } 
     else 
     { 
      echo "sorry , Query could no execute..."; 
     }  
    } 
} 

class.usr.php

public function register($uname,$email,$upass,$code) 
    { 
     try 
     {       
      $password = md5($upass); 
      $stmt = $this->conn->prepare("INSERT INTO tbl_users(userName,userEmail,userPass,tokenCode) 
                 VALUES(:user_name, :user_mail, :user_pass, :active_code)"); 
      $stmt->bindparam(":user_name",$uname); 
      $stmt->bindparam(":user_mail",$email); 
      $stmt->bindparam(":user_pass",$password); 
      $stmt->bindparam(":active_code",$code); 
      $stmt->execute(); 
      return $stmt; 
     } 
     catch(PDOException $ex) 
     { 
      echo $ex->getMessage(); 
     } 
    } 

habe ich versucht, unter Code hinzufügen, aber es did't für mich gearbeitet.

$cpass = trim($_POST['txtpass']); 

/* Afer if-Anweisung */

elseif($pass != $cpass){ 
      $msg = "passwords doesn't match"; 
     } 

auch in class.usr.php Datei versucht, aber kein Glück .....

+1

Sie verwenden 'trim ($ _ POST [ 'txtpass']) 'für beide Werte '$ pass' und '$ cpass'. Dein '$ cpass 'sollte anders sein. Nehmen wir an, Sie bestätigen, dass der Passworteingabefeldname 'confirm_password' lautet. Damit. Ihr '$ cpass = trimmen ($ _ POST ['confirm_password'])' –

+0

@MahfuzulAlam Danke für Ihre Unterstützung ..... –

Antwort

1
First of all you have not mentioned confirm password field. 
Lets assume your confirm password field is "txtConfirmPass" 

Before redirect to register function need to check password and confirm password like 

$upass = trim($_POST['txtpass']); 
$uConfirmPass = trim($_POST['txtConfirmPass']); 

if($upass != $uConfirmPass){ 

    // Password not match your code here 
}else{ 
    if($reg_user->register($uname,$email,$upass,$code)){   
     $id = $reg_user->lasdID();  
     $key = base64_encode($id); 
     $id = $key; 

     $message = "some message"; 

     $subject = "Confirm Registration"; 

     $reg_user->send_mail($email,$message,$subject); 
     $msg = "some message"; 
    } 
    else 
    { 
     echo "sorry , Query could no execute..."; 
    } 
} 

Hopefully it help you out. 
+1

upvote Für gut erwähnte Antwort :) –

+0

Ich erhalte diesen Fehler: 'Nachricht: Undefinierter Index: txtConfirmPass in der Zeile: '$ uConfirmPass = trim ($ _ POST ['txtConfirmPass']);' –

+0

muss ich irgendeinen Code in 'class.usr.php' hinzufügen? Oder ist dieses Problem der Verwendung von 2 "else if" Bedingungen? –

Verwandte Themen