【问题标题】:How to change background color depending on the day of the week using PHP [closed]如何使用 PHP 根据星期几更改背景颜色 [关闭]
【发布时间】:2022-02-09 08:57:28
【问题描述】:

我需要根据星期几更改标题框的背景颜色。例如,如果这一天是星期一或星期三,标题的背景应该是粉红色的,否则它应该是蓝色的。我在网上找到了类似的东西,但它不起作用。另外我不确定将 if 语句放在哪里,在头部或身体部分?我把这段代码放在了头部,它没有工作。

$t = date("l");
if ($t == 'Monday' || $t == 'Wednesday') {
    echo "<body style='background-color:pink'>";
} else {
    echo "<body style='background-color:blue'>";
}

我在网上找到的所有内容都是用 javascript 编写的,而我不懂 js(我对编码很陌生),所以我不确定是否应该学习和使用它或尝试其他方法。 提前感谢您的帮助。

【问题讨论】:

  • 究竟是如何不起作用?在这里工作正常~3v4l.org/nh3oU
  • 你把这个 PHP 代码代替了你的 body 标签。
  • @AnthonyBird 你怎么知道? OP 没有提供任何此类上下文,我们不知道实际问题是什么
  • @Phil 他说他把标签放在了头上。看来他没有意识到它生成了body标签。
  • @AnthonyBird 啊,很好。 OP 应将此代码紧跟在&lt;/head&gt; 之后

标签: javascript php html css


【解决方案1】:

很遗憾我不懂 PHP,但如果你有兴趣尝试 JavaScript,在这种情况下 JavaScript 有一些优势,你可以这样做:

<html>
  <head>
    <script type="text/javascript">
      function setBgColor() {
        const body = document.getElementsByTagName("body")[0];
        const today = new Date().getDay();
        let color;
        if (today == 1 || today == 3) { // Sunday = 0, Monday = 1, etc.
          color = "pink";
        } else {
          color = "blue";
        };
        body.setAttribute("style", "background-color: " + color + ";");
      };
    </script>
  </head>
  <body onload="setBgColor()">
    <p>Hello, world!</p>
  </body>
</html>

【讨论】:

  • 这样更好,因为它使用客户端的本地时间来确定星期几
【解决方案2】:

检查并返回color 值,然后在正文中使用它。

<?php

$day = date("l");
$color = ($day == "Monday" || $day == "Wednesday") ? 'pink' : 'blue';

?>

<body style="background-color: <?= $color ?>;">

</body>

【讨论】:

  • 如果 OP 的代码 不起作用 那么这也不会
  • 因为我认为 OP 不想回显整个身体标签。
  • 但是你的回答完全一样?
  • 是吗?我认为在呼应身体标签时会有所不同,而只是呼应正文标签中的颜色。 OP 不确定将 if 语句放在哪里,是在头部还是在身体中。那么我认为这会有所帮助。
  • OP 的代码和你的代码产生完全相同的结果(除了你的有&lt;/body&gt;
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-22
  • 2021-05-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-10-24
  • 1970-01-01
相关资源
最近更新 更多