使用PHP向HTML标记添加属性

时间:2013-08-19 01:12:56

标签: php

我要做的是改变

<input name="username">

类似

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

如果表格是空的。

这是我在单独的文件中获得的PHP:

$username = $_POST['username'];

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

我该怎么做?

4 个答案:

答案 0 :(得分: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>

答案 1 :(得分: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');
     }
    ?>

答案 2 :(得分: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\">";
}

?>

答案 3 :(得分:0)

这是一种发送给自己的形式吗?然后尝试直接在HTML中使用PHP

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

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

Offtopic:使用trim()检查字段是否为空,并删除空格。