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



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

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

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

我现在的代码是:

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

它工作正常,但它的打印值属性甚至在我发送表单之前,我已经尝试修改代码,但是输入 [>] 的结束标签似乎与 php 结束标签有问题>

我该如何解决这个问题?

非常感谢:)


谢谢,我是这样解决的:

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

注意:我已经声明了$uname = $_POST['用户名'];在另一个地方,所以这就是为什么我有一个有效的变量($uname)。

你必须检查帖子变量(你在这里没有显示)

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

根据您拥有的内容更改帖子的内容,它应该可以解决您的问题

<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)。

最新更新