【发布时间】:2014-08-17 04:22:16
【问题描述】:
我目前正在开发一个小型 Web 项目,我的计划是自下而上地构建它——首先创建一个仅使用 PHP、HTML 和 CSS 的功能性网站,然后,如果用户启用它,通过 Javascript 的魔力,尤其是 jQuery,逐步增强网站。但是,我在 PHP 方面遇到了一些问题,而且由于我只是该脚本语言的新手,所以我想不通的是:
如何实现一个 PHP 开关,在另一个开关中包含导航?
为了更好地阐明我想要实现的目标,让我向您展示我的网站结构的一个小模型:
- Header.php(标题)
- Page1.php(内容页面1)
- Page2.php(内容页2)
- Page3.php(内容页面3)
- Page3.1.php(内容页面3子内容1)
- Page3.2.php(内容页面3子内容2)
- Page3.3.php(内容页面3子内容3)
- Footer.php(页脚)
如您所见,当谈到这个模型时,它位于第 3 页,我打算将一个 php 导航嵌套在另一个导航中。这可以在该页面上启用一些滑块式子导航,但到目前为止,我在这方面的努力充其量是徒劳的。 就代码而言,这是我设法拼凑起来的。
<a class="link" href="index.php?id=page1">Page1</a>
<a class="link" href="index.php?id=page2"> Page2</a>
<a class="link" href=” index.php?id=page3">Page3</a>
<?php
switch($_GET['id']) {
default:
include('page1.php');
break; case "page2":
include('page2.php');
break; case "page3":
include('page3.php'); // *Nested navigation goes inside this page
}
?>
*在 page3.php 内部我放了几乎相同的代码,只是它链接到该页面的子页面(page3.1.php、page3.2 和 page3.3.php) .
不幸的是,这似乎不起作用 - 首先,当我输入 localhost/index.php 我的网络浏览器时,我收到以下通知: 注意:未定义的索引:第 26 行 C:\xampp\htdocs\php-navigation\index.php 中的 id。 但是,当我单击其中一个链接或输入诸如 index.php?id=page1 之类的 URL 时,我没有收到该通知。所以看起来我需要定义“id”变量,但是在哪里以及如何做呢?
除此之外,第 3 页上的嵌套导航根本不起作用,相反,当单击子页面的链接时,我会被重定向到索引页面。我可能与 URL:s 有关,但话说回来,我知道什么?
请帮我弄清楚如何完成这项工作 - 欢迎所有帮助,即使只是朝着正确的方向轻微推动,也非常感谢 - 在此先感谢!
/约翰·温德斯滕
【问题讨论】:
标签: php navigation include nested switch-statement