在 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 中验证密码并确认密码的主要内容,如果未能解决你的问题,请参考以下文章