如何检查值是否设置然后回显值属性[PHP]

时间:2017-01-12 10:17:12

标签: php html

我输入的名称为“用户名”,我需要的是当我发送表单以检查值是否与表单一起发送时我想在输入中打印属性:

<input type="text" name="username"
 <?php if(isset($uname)){echo 'value="' . $uname . '"';} ?>
>

所以我不想打印value属性,除非POST方法已经发送了一个值。

我现在的代码是:

<input type="text" name="username" id="username" class="form-control"
 value="<?php if(isset($uname)){echo $uname;}?>"
 placeholder="Username">

它工作正常但是在我发送表单之前它的打印值属性,我试图修改代码,但是输入的结束标记[&gt; ]似乎有关闭php标签的问题?&gt;

我如何解决此问题?

非常感谢:)

谢谢,我解决了这个问题:

<?php
  echo '<input type="text" name="username" id="username" class="form-control"';
  echo (isset($uname)) ? 'value="'.$uname.'"' : '';
  echo ' placeholder="Username">';
?>

注意: 我已经宣布$ uname = $ _POST ['username'];在另一个地方,这就是为什么我有一个有效的变量($ uname)。

2 个答案:

答案 0 :(得分:0)

您必须检查帖子变量(此处未显示)

<?php if (isset($_POST['uname']): ?>
   value="<?php echo $_POST['uname'];?>"
<?php endif; ?>

根据你拥有的内容改变帖子的竞争力,它应该解决你的问题

答案 1 :(得分:0)

<input type="text" name="username" id="username" class="form-control" value="<?php echo (isset($uname) && isset($_POST['uname'])) ? $uname : '';?>" placeholder="Username">

在使用之前,请不要忘记在$ uname变量上使用 filter_input http://php.net/manual/en/function.filter-input.php)。