首页 > 解决方案 > 背景颜色做了奇怪的事情

问题描述

我只想在我的简单网站上更改背景颜色。但它不仅没有功能,而且将背景更改为红色,即使我完全删除所有颜色,重新启动 XAMMP 并删除浏览器缓存。我完全一无所知。是的.. 我知道代码效率不高,但这样做是我的任务。

<html>
<head><title>Switch</title></head>
<body>
<p><div id="main">
<meta charset="utf-8"/>
<?php
$Uhrzeit = date("H");

echo '<body style="background-color:blue" />'; //Even set the color outside the if-statement

if($Uhrzeit > 6 && $Uhrzeit <= 12){
    echo '<body style="background-color:blue" />';
}
elseif($Uhrzeit > 12 && $Uhrzeit <= 18){
    echo '<body style="background-color:blue" />';
}
elseif($Uhrzeit > 18 && $Uhrzeit < 6){
    echo '<body style="background-color:black" />';
    echo '<body style="color:white" />';
}

$select = $_POST["Monat"];

switch($select){                                            
case "Januar":                                          
    echo $select . " hat 31 Tage";
    break;
case "Februar":
    echo $select . " hat 28 Tage";
    break;
case "März":
    echo $select . " hat 31 Tage";
    break;
case "April":
    echo $select . " hat 30 Tage";
    break;
case "Mai":
    echo $select . " hat 31 Tage";
    break;
case "Juni":
    echo $select . " hat 30 Tage";
    break;
case "Juli":
    echo $select . " hat 31 Tage";
    break;
case "August":
    echo $select . " hat 31 Tage";
    break;
case "September":
    echo $select . " hat 30 Tage";
    break;
case "Oktober":
    echo $select . " hat 31 Tage";
    break;
case "November":
    echo $select . " hat 30 Tage";
    break;
default:
    echo $select . " hat 31 Tage";
    break;
}
?>
<br><br><br><br><br>
<input type="submit" href="#" onclick="history.back()" value="Zurück">
</div>
</p>
</body>
</html>

标签: phphtmlbackground-color

解决方案


HTML 文档中应该只有一个body标签。你打印了很多,所以这就是问题所在。而不是echo '<body...'您可以将颜色存储在变量中并将其打印在主body标签中。

例子:

<?php

$bgColor = 'blue';

if(something) {
    $bgColor = 'red';
} else if (something) {
    $bgColor = 'yellow';
}

?>
<html>
<head>
<title>Switch</title>
</head>
<body style="background-color: <?php echo $bgColor; ?>">

...

</body>
</html>

或者,如果您在 php 配置中启用了short_open_tag<?php echo $bgColor; ?> ,则可以替换为<?=$bgColor;?>


推荐阅读