我在下面的代码中有以下代码我想验证在输出$ 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中获得记录。 非常感谢提前
答案 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>