如何比较PHP中的表单元素?

时间:2015-05-20 21:17:15

标签: php html

我想与我的注册表单部分进行比较,它们是password1和password2。

<input type="password" name="password1" placeholder="Password">
<input type="password" name="password2" placeholder="Retype Password">

我确信这很简单,但直到最近我才开始使用表格,并且不知道如何比较这些表格。我想让php检查密码1和密码2是否相等,否则表单按钮不会显示。我无法弄清楚如何定位它们。

<?php
if(What goes here?) {
echo "The passwords do not match";
} else {
echo "<input type='submit'>";
}
?>

请帮忙!

3 个答案:

答案 0 :(得分:2)

看到你已将其标记为PHP,我将提交以下内容作为纯PHP解决方案。

首先,您需要一个表单并指定POST方法。如果省略,表格默认为GET。

旁注:您可以使用GET方法,但使用该方法发送密码是不安全的。

<form action="your_handler.php" method="post">
    <input type="password" name="password1" placeholder="Password">
    <input type="password" name="password2" placeholder="Retype Password">
    <input type="submit" name="submit" value="Submit">
</form>
  • 另一个旁注:如果您的HTML / PHP在同一个文件中,您可以使用action="" 它相当于“自我”。

然后,您需要一个条件语句来检查两个输入是否都没有留空,因此我们将使用empty()以及比较运算符==来验证两个输入的值是否都在事实相符。

<强> your_handler.php

<?php
if(!empty($_POST['password1']) && !empty($_POST['password2'])){

$pass1 = $_POST['password1'];
$pass2 = $_POST['password2'];

if($pass1 == $pass2){
    echo "Match";
    }

else{
    echo "No match.";
    }

}
  • 如果您愿意,可以将&&(AND)替换为||(或)。
  • || - 或检查一个或另一个是否为空。
  • && - 并检查两者是否为空。

参考(S):

答案 1 :(得分:0)

它是这样的:

<?php
  if($_POST['password1']!=$_POST['password2']) 
   {
    echo "The passwords do not match";
   } 
 else  
   {
    echo "<input type='submit'>";
   } 
?>

但PHP是一种服务器端语言,如果您的表单未先提交,则无法检查。从你的评论:“我试图阻止表格发送,除非密码是相同的。”,我可以告诉你需要的是一个JavaScript代码,它在客户端执行,然后提交表单。

答案 2 :(得分:0)

HTML文件:

<form method="POST" action="example.php">
<input type="password" name="password1" placeholder="Password">
<input type="password" name="password2" placeholder="Retype Password">
<input type="submit">

PHP文件(example.php):

<?php
if($_POST['password1']!=$_POST['password2'])
    echo "The passwords do not match!!!";
else
    echo "The passwords match.";
?>