валидация — проверка пароля с подтверждением пароля при регистрации в Stack Overflow

Мы используем код ниже для «регистрации». у нас есть только пароль поле, которое мы хотим добавить Подтвердите Пароль поле.

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();
}
}

Я попытался добавить приведенный ниже код, но он не сработал для меня.

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

/ * После утверждения * /

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

также попробовал в class.usr.php файл, но не повезло …..

2

Решение

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]