【问题标题】:HTML/PHP input field - If $_POST is set, value = something, otherwise use placeholder?HTML/PHP 输入字段 - 如果设置了 $_POST,则 value = something,否则使用占位符?
【发布时间】:2017-03-16 11:14:48
【问题描述】:

编辑: 伙计们,谢谢大家的快速回答,我很感激他们。给我点赞。

我正在做一个简单的注册表单。我希望在用户输入无效输入(例如密码字段中的不允许字符)时预先填写一些字段(昵称和电子邮件)。

我试图这样实现它:

<input type="text" name="nickname" placeholder="nickname" value=<?php if(isset($_POST["nickname"])) echo $_POST["nickname"]; ?> maxlength="30" required="required">

这仅在设置$_POST["nickname"] 时有效,否则它使用maxlength="30" 作为值。

$_POST["nickname"]为空时,有什么办法让它使用占位符?

我对 PHP 很陌生,如果我的问题听起来很愚蠢,我很抱歉。 还有……为我的英语道歉。

【问题讨论】:

标签: php html


【解决方案1】:
<input type="text" name="nickname" placeholder="nickname" value="<?php echo isset($_POST["nickname"]) ? $_POST["nickname"] : ""; ?>" maxlength="30" required="required">

【讨论】:

    【解决方案2】:
    <input type="text" name="nickname" placeholder="nickname" value="<?php echo count($_POST["nickname"]) ? substr($_POST["nickname"], 0, 30):'';?>" maxlength="30" required="required">
    

    【讨论】:

    • 虽然此代码可能会回答问题,但提供有关它如何和/或为什么解决问题的额外上下文将提高​​答案的长期价值。
    【解决方案3】:

    您缺少关于价值的引号。试试这个

    <input type="text" name="nickname" placeholder="nickname" value="<?php echo ( isset( $_POST["nickname"] ) ? $_POST["nickname"] : '' ); ?>" maxlength="30" required="required">
    

    【讨论】:

      猜你喜欢
      • 2017-05-23
      • 1970-01-01
      • 2018-03-23
      • 2013-09-01
      • 1970-01-01
      • 2011-10-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多