gpt4 book ai didi

php - 在 PHP 中创建黑暗版本网站的最佳方式

转载 作者:太空宇宙 更新时间:2023-11-04 05:39:38 25 4
gpt4 key购买 nike

我有一个基于 PHP MySQL 的网站,具有纯黑色背景和白色文本和内容。我想要一个切换按钮,它将反转所有图像文件和 HTML 本身,使其具有更亮的版本,但我不希望更改在 URL 中可见。以下是我想要在点击后进行的 CSS 更改:

.member-icon, .smaller_icons, .main_logo, .footer_lower_part img, .first_smalls {
filter: invert(0);
}
html, img, .partnerimg, .b_l_contacts, .logo_holder, .dark_mode{
filter:invert(1);
}

和按钮本身:

<div class="dark_mode">
<img src="/pics/body/dark_mode/dark_mode.svg" alt="dark mode switcher">
</div>

我正在寻找切换值的最佳方式,这将使 PHP 在整个 session 期间加载额外的 CSS 而不会显示在 URL 中。

Dark Version

Light Version



开关(右下角的月亮图标)在body.php文件中,其他页面一致。

如果你想看的话,网站是 artfabers.com。

最佳答案

如果您不想让它在 URL 中可见并且您不想使用 JavaScript,您还有其他一些选择:

  • 使用 session
  • 使用 cookie
  • 如果用户已登录,则将设置存储在数据库中(在您的屏幕截图中似乎没有登录)

我会选择 session 解决方案。

当点击按钮时,你应该向 php 发送一个用户想要切换背景颜色的调用。

如果您使用 get 请求(只是 <a href="?bg=black">moon</a> ),您必须在设置 session 后立即重定向用户以将其从 URL 中删除。

如果您使用 POST 表单,它在 URL 中是不可见的,但是您会在浏览器中刷新/返回时看到烦人的“您确定要重新发送表单数据吗”确认对话框等。所以我也会为此使用重定向。

示例

HTML:

<div class="dark_mode">
<a href="settings.php?bg=dark">
<img src="/pics/body/dark_mode/dark_mode.svg" alt="dark mode switcher">
</a>
</div>

设置.php:

<?php
session_start();

if (isset($_GET['bg'])) {
$_SESSION["bg"] = $_GET['bg'];
}

header('Location: index.php');

现在您可以通过调用 $_SESSION['bg'] 访问 body.php 中的当前背景颜色

以上内容未经测试,但应该有效,并且至少让您了解如何解决它。

不过我想提一下,这是一种非常老式的做此类事情的方法。如果我是您,我会研究不需要刷新页面的 JavaScript 解决方案。

关于php - 在 PHP 中创建黑暗版本网站的最佳方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59335623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com