如何在显示记录之前验证表单输入

时间:2017-11-19 13:21:43

标签: php echo

我在下面的代码中有以下代码我想验证在输出$ text中的记录之前是否已在表单中插入1234:

 $text = "12345678910111213141516171819202121";

 $pas = "1234";

 if(isset($_POST["subscribe"]))

 {

 $phone = $_POST["phone"];

 if($phone = "$pas")
 {

 echo $text;

 }
if($phone != "$pass")
 {

 echo erro;

 }

 }

     echo '<form action="#" method="POST">
Your Phone Number <br> <input type="text" name="phone" value="080"/><input type="submit" name="subscribe" value="SEND PAYMENT"/></form></div>';

但是当我在表单中提交空或错误的$ pas时,我会在$ text中获得记录。 非常感谢提前

1 个答案:

答案 0 :(得分:1)

这是因为=是赋值运算符,==是相等比较运算符。所以请尝试以下方法:

 if($phone == $pas)
 {

    echo $text;

 }

修改:在评论中回答问题。输出echo时应避免html,因此请在submit匹配时尝试使用以下代码隐藏$phone按钮。像:

<?php 
$text = "12345678910111213141516171819202121";
$pas = "1234";

if (isset($_POST["subscribe"]))
{
    $phone = $_POST["phone"];
    if ($phone == $pas)
    {
        echo $text;
    }

    if ($phone != "$pass")
    {
        echo erro;
    }
}

?>
<form action="#" method="POST">
    Your Phone Number <br /> 
    <input type="text" name="phone" value="080"/>
    <?php if(isset($_POST["phone"]) || $_POST["phone"] != $pas): ?>
        <input type="submit" name="subscribe" value="SEND PAYMENT"/>
    <?php endif; ?>
</form>