使用可变文本(取决于条件)回显表格样式而不重复表格样式

时间:2012-07-18 17:41:23

标签: php css

所以,我试图回应错误警告这样的屁股(错误的密码/电子邮件),(填写所有字段)具有相同的样式但只是不同的文本但我似乎找不到一个快捷方式来做到这一点而不回应整个每一个回声中的风格schpiel,我相信对于大多数人来说这是非常明显的,所以请帮助我。 TVM。代码:

   if ($oldpassword!==$oldpassworddb)
     { echo"<head>

<style type='text/css'>
.tab2

{
   width:400px; height:40px;
   position: absolute; right: 300px; top: 70px;
}
 .td2
{
    background-color:pink;
    color:blue;
    text-align:center;
}

</style>
</head>
<body>
<table class='tab2'>
<td class='td2'>first meggage</td>
</table>
</body>";}

else if (strlen($newpassword)>25||strlen($newpassword)<6)
   {echo "what should I put in here!!! ">second message;}

1 个答案:

答案 0 :(得分:0)

你接近这个错误。避免混用PHP逻辑和输出HTML。

确定在输出任何内容之前首先显示哪条消息,并将其存储在变量中。然后输出所有带有变量的HTML。这允许您提前定义所需的任何其他变量,并将它们全部同时插入到输出中。

<?php
// First define the $message variable
$message = "";
if ($oldpassword!==$oldpassworddb) {
  $message = "first message";
}
else if (strlen($newpassword)>25||strlen($newpassword)<6) {
  $message = "Second message";
}
else {
  // some other message or whatever...
}
Close the <?php tag so you can output HTML directly
?>

然后输出HTML(不要忘记DOCTYPE!)

<!DOCTYPE html>
<head>

<style type='text/css'>
.tab2

{
   width:400px; height:40px;
   position: absolute; right: 300px; top: 70px;
}
 .td2
{
    background-color:pink;
    color:blue;
    text-align:center;
}

</style>
</head>
<body>
<table class='tab2'>
<!-- the PHP variable is inserted here, using htmlspecialchars() in case it contains <>&, etc -->
<td class='td2'><?php echo htmlspecialchars($message); ?></td>
</table>
</body>

<table>用于布局并不是一种好的现代做法,最好将CSS移动到通过{{1}中的<link rel='stylesheet' src='yourcss.css'>标记链接的外部.css文件中但是,你应该首先解决你的PHP问题。