背景颜色做奇怪的事情
background-color does weird things
我只想更改简单网站的背景颜色。
但它不仅不起作用,而且将背景更改为红色,即使我完全删除所有着色、重新启动 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>
HTML 文档中应该只有一个 body
标签。您正在打印很多,所以这就是问题所在。您可以将颜色存储在变量中,然后在主 body
标记中打印它,而不是 echo '<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;?>
我只想更改简单网站的背景颜色。 但它不仅不起作用,而且将背景更改为红色,即使我完全删除所有着色、重新启动 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>
HTML 文档中应该只有一个 body
标签。您正在打印很多,所以这就是问题所在。您可以将颜色存储在变量中,然后在主 body
标记中打印它,而不是 echo '<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;?>