gpt4 book ai didi

php - 使用PHP条件语句切换不同页面的HTML内容

转载 作者:太空狗 更新时间:2023-10-29 15:16:17 30 4
gpt4 key购买 nike

本人是一名前端开发人员,对PHP略有了解,但很少使用。我正在从事一个个人项目,其中我主要使用 include 将 PHP 文件链接在一起。这是我的整体基本页面结构:

<?php include('header.php'); ?>
<?php include('pagetitle.php'); ?>

Page content goes here.

<?php include('footer.php'); ?>

在 pagetitle.php 上,我有一个 <h1> , <h2>以及与您所在页面相关的背景图片。

我的问题是,如何使用条件语句将所有页面标题/副标题放在 pagetitle.php 上,并让它们根据您所在的页面进行切换?例如,我想要

<div id="about">
<h1>About</h1>
<h2>About page subheading</h2>
</div>

出现在 about.php 上,并且

<div id="contact">
<h1>Contact Me</h1>
<h2>Contact page subheading</h2>
</div>

显示在 contact.php 等...但仅在这些页面上使用 pagetitle.php。

网站不大。它不会超过 10 页。此外,我确实意识到我可以只在相应页面上使用该页面标题段,但如果可能的话,我想尝试一下。

谢谢!

最佳答案

我会做这样的事情(未经测试,但应该很少(如果有的话)更改。)
(每个人都这么说,对吧?:D):

<?php
/*
create a map that contains the information for each page.
the name of each page maps to an array containing the
(div id, heading 1, & subheading for that page).
*/
$pageinfo = array(
"about.php" => array ("about", "About", "About Page Subheading"),
"contact.php" => array ("contact", "Contact Me", "Contact Page Subheading"),
);

function printinfo($pagename) {
/*
This function will print the info for the current page.
*/

global $pageinfo;

$pagename = basename($pagename);

#make sure we have info for this page
if (!array_key_exists($pagename, $pageinfo) {
echo "<p><b>You did not supply info for page $pagename</b></p>";
return;
}

#we do have info ... continue
$info = $pageinfo[$pagename];

#let's print the div (with its custom id),
echo "<div id='" . $info[0] . "'>\n";

#print the headings
echo "<h1>" . $info[1] . "</h1>\n";
echo "<h2>" . $info[2] . "</h2>\n";

#close the div
echo "</div>\n";
}
?>

然后在你想要 div 的每个页面中,你将放置以下代码:

printinfo($_SERVER['PHP_SELF']);

其他:

  • 这种方式比其他方式更灵活,但没有条件语句。 (您特别要求具有条件语句的解决方案;但是,为了灵 active 和可维护性,此示例不使用 switch 语句或 if 语句。)

  • 因为没有条件语句,所以需要维护的代码更少。当然,您必须使用信息设置数组,但如果您决定更改 <h2><h3> ,您将只需要在一个位置进行更改,等等。

关于php - 使用PHP条件语句切换不同页面的HTML内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37980713/

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