PHP echo语句的位置和样式控制


PHP echo statement position and styling control

这是一个稍微简单的问题,但我记不起如何在HTML页面中控制PHP输出。更具体地说,我想使用HTML中的css和标记来控制echo语句(else语句的一部分)的位置:

if($row == 1)
{
    echo '<div id="errormsg">This username is already taken</div>';
}
else
{
    $add = mysqli_query($dbcon, "INSERT INTO users (id, firstname, lastname, username, password, admin) VALUES
    (null, '$fname', '$lname', '$user', '$pass', '$admin') ") or die ("Can't insert data");
    echo '<div id="create-success">Successfully added user!</div>';
}

我可以使用上面显示的内部<div>标记来控制一些事情,但如何将其相对于HTML定位呢?

在您的PHP代码中,您已经成功添加了id。

您需要在样式表中为这些ID添加样式(如果调用了任一ID)。

例如。

#errormsg{
//css here
}
#create-success{
//css here
}

不确定这是否是你的意思,但假设你的HTML页面和PHP代码在里面:

<div>
<?php
   if ($row == 1) {
      echo "This username is already taken";
   } else {
      $add = mysqli_query($dbcon, "INSERT INTO users (id, firstname, lastname, username, password, admin) VALUES
(null, '$fname', '$lname', '$user', '$pass', '$admin') ") or die ("Can't insert data");
      echo "Successfully added user!";
   }
?>
</div>

要快速修复,可以执行以下操作:

if($row == 1)
{
    $error = '<div id="errormsg">This username is already taken</div>';
}
else
{
    $add = mysqli_query($dbcon, "INSERT INTO users (id, firstname, lastname, username, password, admin) VALUES
    (null, '$fname', '$lname', '$user', '$pass', '$admin') ") or die ("Can't insert data");
    echo '<div id="create-success">Successfully added user!</div>';
}

并在想要显示的地方使用$error变量,例如,在view.php文件中:

<?php if(isset($error)){ echo $error; } ?>

这只是一个快速的解决方案,请了解更多关于MVC的信息,以及如何将视图与逻辑分离。

无论您从编码端得到的结果是什么,您只需设置条件,或者使用如下代码:

if($row == 1)
{
    $msg = '<div id="errormsg">This username is already taken</div>';
}
else
{
    $add = mysqli_query($dbcon, "INSERT INTO users (id, firstname, lastname, username, password, admin) VALUES (null, '$fname', '$lname', '$user', '$pass', '$admin') ") or die ("Can't insert data");
    if($add) {
        $msg = '<div id="create-success">Successfully added user!</div>';
    } else {
        $msg = 'Error in adding record';
    }
}

最后在PHP或HTML端使用$msg变量,如下所示:

<?php if($msg) { echo $msg; }?>