【问题标题】:Check if form submitted and do something检查表单是否提交并做一些事情
【发布时间】:2013-09-21 03:41:43
【问题描述】:

我的验证工作正常,但我只想输出它,当它已提交但 isset 或 empty 似乎出于某种原因对我有用?我相信我正在使用 php 5.5.3

我的代码:

<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" name="register">
    <input type="text" placeholder="Username" maxlength="15" name="username"/><br>
    <input type="password" maxlength="15" name="password1"/><br>
    <input type="password" maxlength="15" name="password2" /><br>
    <input type="text" placeholder="your@email.com" maxlength="25"  name="email"/><br>
    <input type="text" maxlength="20" name="county" /><br>
    <input type="submit" value="Register" name "register"/>
</form>
<?php
//Form Validation
if(empty($_POST['register']))
{
    echo "Option A <br>";
}
else
{
    echo "Option B <br>";
}

另外,我不记得如果验证正常,我将如何为该用户输入相同的信息?

value="<?php $_POST['stuff'] ?>

【问题讨论】:

    标签: php forms submit isset


    【解决方案1】:
    <input type="submit" value="Register" name "register"/>
                                              ^
    

    你在那里缺少=

    应该是:

    <input type="submit" value="Register" name="register"/>
    

    最好使用isset() 而不是empty(),在这种情况下:

    if(isset($_POST['register']))
    {
        echo "Option A <br>";
    }
    else
    {
        echo "Option B <br>";
    }
    

    我不确定选项 A 和 B 是什么,但是使用此代码,您在加载页面时总是会看到 Option Bif 块中的条件将执行到 FALSE,因此将执行 else 块。如果您想避免这种情况,可以使用elseif 语句而不是else

    【讨论】:

    • 如果你想保存几行,那么这也可以echo isset($_POST['register']) ? "Option A &lt;br&gt;" : "Option B &lt;br&gt;";
    • @user2784248:是的,来源也是对的。如果您想在代码中使用它们,请阅读 ternary statements :-)
    猜你喜欢
    • 1970-01-01
    • 2021-09-03
    • 1970-01-01
    • 2019-03-23
    • 2011-05-24
    • 1970-01-01
    • 1970-01-01
    • 2011-12-04
    相关资源
    最近更新 更多