在 PHP 中验证密码并确认密码

Posted

技术标签:

【中文标题】在 PHP 中验证密码并确认密码【英文标题】:Validating password and confirm password in PHP 【发布时间】:2015-05-18 05:17:23 【问题描述】:

我正在尝试一个注册表单,其中密码和确认密码应该相互匹配。如果不匹配,则应显示错误消息。以及如何验证超过 6 个字符的密码? 我怎样才能做到这一点?如何验证密码并确认要匹配的密码并显示错误消息密码错误?

这里是代码

<?php
$username = "root";
$password = "";
$hostname = "localhost"; 
$db = "reg";
//connection to the database
$dbhandle = mysql_connect($hostname, $username, $password) or die("Unable to connect to MySQL");
mysql_select_db($db,$dbhandle) or die('cannot select db');

if(isset($_POST['submit'])) 

     $name= $_POST['name'];

     $username= $_POST['username'];
    $password= $_POST['password'];
     $cpassword= $_POST['cpassword'];

     if($name=='')
     echo "<script>alert('Please enter Name')
     </script>";
    exit();
    
    if($username=='')
     echo "<script>alert('Please enter Username')
     </script>";
    exit();
    
    if($password=='' && $password<6)
     echo "<script>alert('Please enter  Password')</script>";

    exit();
    

    if($cpassword=='')
     echo "<script>alert('Please enter Confirm Password')
     </script>";

    



    $check_name="select * from registration where username='$username'";
    $run=mysql_query($check_name);

     if(mysql_num_rows($run)>0)
    echo "<script>alert('Username $username already exits in our database. Please try with Another!')</script>";

    

    elseif($password != $cpassword)
       echo "<script>alert('passwords doesn't match')</script>";
    
    else
          $query = "INSERT INTO `registration` (name,username, password,cpassword) VALUES ('$name','$username', '$password', '$cpassword')";
          $run1=mysql_query($query);

    if($run1)
    echo "<script>window.open('register.html','_self')</script>";
    
    
    
    ?> 

HTML 代码

 <form name="register"  action="register.php" method="POST" id="register" style="font-family:ff-meta-web,Arial,sans-serif;text-align:justify;line-height:25px; font-size:12px;">
    <label style="margin-right:30px;"> <b> Name : </b></label>

    <input type="text" name="name" id="name" style="width:200px;" /> 
    <br /> <br />

    <label> <b> User Name : </b></label>
    <input type="text" name="username" id="username" style="width:200px;" /> <br/><br/>
    <label> <b> Password : </b></label> 
    <input type="password" name="password" id="password" style="width:200px;" />
    <br /> <br /> 
    <label> <b>Confirm Password : </b></label> 
    <input type="password" name="cpassword" id="cpassword" style="width:200px;" />
    <br /> <br /> 
    <input type="submit" name="submit" value="Submit" style="background-color:#005797; color:#fff; border:0px; padding:5px 10px;" /> 

    </form>

【问题讨论】:

为什么要在服务器端进行检查?您可以在客户端执行此操作,然后发出警报消息。 也发布您的 HTML 代码和 javascript 代码,以便对此有所帮助。 【参考方案1】:

改变

if($password=='' && $password<6)

if($password=='' && strlen($password)<6)

您还应该在客户端验证所有输入。

【讨论】:

【参考方案2】:

if($password=='' && strlen($password)

【讨论】:

它重定向到另一个页面,密码少于 6 个字符。和密码和确认密码不匹配 如果您想在填写特定字段后进行验证,请使用 jquery 或 javascript

以上是关于在 PHP 中验证密码并确认密码的主要内容,如果未能解决你的问题,请参考以下文章

[密码并以角度8的反应形式确认密码验证

带密码确认的引导 4 验证并禁用提交,直到表单验证(注册表单)

使用引导验证器验证密码并确认密码字段

在没有 JQuery 的情况下验证密码和确认密码 [关闭]

验证后需要帮助确认密码

带有密码确认的 Javascript 表单验证