0

我想做的是改变

<input name="username">

类似于

<input name="username" class="empty">

如果表格为空。

这是我在一个单独的文件中为它准备的 PHP:

$username = $_POST['username'];

if(empty($username)) {
  // add HTML attribute to tag
}

我该怎么做?

4

4 回答 4

1

这是我建议的解决方案:提交表单后,在 action.php 中,您将检查用户名是否为空,如果为空,您将重定向到 index.php 页面,其中的 url 中有一个变量指示字段是否为空或不是(您也可以使用会话)。

index.php 页面:

    <?php 

        if (isset($_GET['empty'] )){$empty="class='empty'";}
        else {
              $empty="";
             }

     ?>

    <form method="post" action="action.php">
    <input name="username" <?php echo $empty; ?> />
    <input type="submit" name="submit" value="save" />
    </form>

您的 action.php 页面:

    <?php
     $username = $_POST['username'];

     if(empty($username)) {
        header('location:index.php?empty=1');
     }
    ?>
于 2013-08-19T02:16:12.307 回答
1
<?php
if(isset($_POST['save_btn'])) {
 $class = 'class="empty"';
}
?>

<form method="post" action="#">
    <input name="username" <?php if (!empty( $class )){echo $class ;} ?> >
    <input type="submit" name="save_btn" value="save">
</form>
于 2013-08-19T01:54:53.280 回答
0

echo如果表单尚不存在,您可以使用。

<?php

$username = $_POST['username'];

if(empty($username)) {
  // add HTML attribute to tag
  echo "<input name=\"username\" class=\"empty\">";
} else {
  echo "<input name=\"username\">";
}

?>
于 2013-08-19T01:17:38.703 回答
0

这是发送给自身的形式吗?然后尝试像这样直接在HTML中使用PHP

<input name="username" class=" <?=(empty($_POST['username'])?"empty":"";?> " />

通过使用缩短的 if 语句,脚本检查空的用户名字段,然后在 classes 属性中输出字符串“empty”。

题外话:使用 trim() 检查字段是否真的为空,并删除空格。

于 2013-08-19T01:18:04.000 回答