我对 PHP 非常陌生,有人要求我编辑他们的网页,我接受了这份工作,对 HTML 半精通。(我是你看到的艺术家)喘气......
我的问题?客户希望他们的管理面板上有一个 ON/OFF 开关,它将在前端显示两个页面中的任何一个。我的猜测是一个脚本,它将父页面上的 href 更改为特定的内容。我不知道该怎么做。请帮忙。
我在代码能力方面的不足我用我出色的艺术技巧来弥补,所以我欠你一两个 UI ;)
提前谢谢你。
如果我是你,我会创建 jpeg 的一个红色和另一个白色.. 或其他任何东西,然后根据每个提交创建会话,或者你可以说。
<?php
if(isset($_SESSION['on']) && !empty($_SESSION['on'])) {
echo "<img src='red.jpg' /> ";
}else {
echo "<img src='yellow.jpg' />";
} ?>
上面的代码向您保证,如果会话“开启”设置,它将变为红色,否则,它将始终为黄色。
现在,使用按钮,如何打开和关闭东西
我想激活会话,你可以在下面做这样的事情。
<?php
if(isset($_POST['on'])) {
$_SESSION['on'] = true;
}else {
$_SESSION['on'] = false;
}
?>
您将需要数据库中的一个变量来表示 ON/OFF 开关的值。这些值可以是 1 或 0 或任何您想要的值。我将有一个单独的 php 页面,调用它page_redirect.php
只是有一个条件来测试数据库中的标志。它应该看起来像这样:
<?php
$flag = //value from database
if ($flag == 0)
{
header("Location: url of first page");
}
else
{
header("Location: url of second page");
}
exit;
?>
这样,如果客户想要添加或更改页面,您就不必在数百万个不同的地方更改代码。
这实际上不是最简单的任务,您最终可能不得不向您的朋友/客户承认您无法做到。我不能只为您编写代码,因为它会根据现有源以不同的方式实现 - 但如果您愿意花一些时间阅读 PHP 手册并希望学习,我可以为您指明正确的方向。
管理页面上的按钮需要在 Web 服务器上保存一个值,告诉最终用户内容要显示哪些内容(在您的情况下为第 1 页或第 2 页)。最自然的方法是使用 php 在数据库(通常是 MySQL)中存储一个值。这将需要您花一些时间学习 MySQL 的基本用法,但是您的客户端网络服务器将需要 MySQL 支持和一个您可以连接的活动数据库。
另一种方法是将信息存储在服务器上的文件中。在 PHP 中,您将使用文件命令来写入数据。php网站上有例子,从这里开始:
http://www.php.net/manual/en/ref.filesystem.php
查看 fopen、fwrite、fread 和 fclose。如果您选择该方法,它们就是您需要的命令。
但是,当您写入数据后,最终用户看到的页面必须加载它(使用数据库查询或 fopen、fread 和 fclose),然后可以对您存储在文件中的值进行操作。更改显示哪个页面的一种简单方法是将两个单独的页面存储为 php 文件,拥有客户端实际看到的第三个 php 页面,并使用 php 中的“include”函数根据值加载正确的文件您加载的数据。即类似的东西:
if ($page_type == 0)
{
include "page_1.php";
}
else
{
include "page_2.php";
}
至少这是我能想到的最简单的方法。
有很多方法,从动态 JQuery 到静态 PHP:
查询:
首先获取您的按钮:
<button id="i1">Show Page 1</button>
<button id="i2">Show Page 2</button>
<div id="loadhere"></div>
现在,使用 JQuery 在特定 div 中加载页面。
$("#i1").click(function(){
$("#loadhere").load("page1 link here");
});
$("#i2").click(function(){
$("#loadhere").load("page2 link here");
});
PHP:
$page = ($selected_page == 0 ? page1:page2)
include("$page.php"); OR header("Location:$page.php");