HTML / PHP输入字段 - 如果设置了$ _POST,则value = something,否则使用占位符?

时间:2017-03-16 11:14:49

标签: php html

编辑:伙计们,谢谢大家快速解答,我感谢他们。让我全心投入。

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

我试图像这样实现它:

<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很陌生,如果我的问题听起来很愚蠢,我很抱歉。 还...为我的英语道歉。

3 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:2)

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

答案 2 :(得分:1)

你错过了价值报价。试试这个

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