我目前正在开发一个小型的Web项目,我的计划是从下到上构建它 - 首先创建一个仅使用PHP,HTML和CSS的运行网站,然后,如果用户启用它,通过Javascript的魔力逐步增强网站,更具体地说 - jQuery。但是,我在PHP方面遇到了一些问题,因为我只是新手,当谈到这种脚本语言时,我无法弄清楚的是:
如何实现一个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时,我的Web浏览器会收到以下通知: 注意:未定义的索引:第26行的C:\ xampp \ htdocs \ php-navigation \ index.php中的id。 但是,当我点击其中一个链接,或输入像index.php?id = page1这样的网址时,我没有注意到这一点。所以我似乎需要定义'id'变量,但是在哪里以及如何做到这一点?
除此之外,第3页的嵌套导航根本不起作用,相反,当点击指向子页面的链接时,我会被重定向到索引页面。我可能需要处理URL:s,但话又说回来,我知道什么?
请帮助我弄清楚如何使这项工作 - 所有的帮助,即使只是在正确的方向轻微推动,也欢迎并非常感谢 - 提前感谢!
/ Johan Wendesten
答案 0 :(得分:0)
我的朋友英语不是我的第一语言,所以我再次阅读,但我在你的代码中发现的一个错误就是这个。
第三页,这就是为什么你的page3链接有问题
<a class="link" href=” index.php?id=page3">Page3</a>
href部分错误,这一个href =“它应该是这个href =&#34;意味着你的href部分应该是这个
href="index.php?id=page3"
并删除id
的错误添加if this statement
if($_REQUEST=='GET'){ //all of your switch statement will come here }
所以你的代码应该是这样的
<?php
//start of if statement
if($_REQUEST=='GET'){
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
}
}//end of if statement
答案 1 :(得分:0)
您收到的警告是关于未定义的索引 - 您正在尝试访问不存在的数组元素。你需要改变
switch($_GET['id']) {
到
if (isset($_GET['id'])) {
$id = $_GET['id'];
} else {
$id = "page1";
}
switch($id) {
对于第3页,首先您可能会遇到问题:
<a class="link" href=” index.php?id=page3">Page3</a>
您会注意到一个额外的空格和一个奇怪的引用(”
vs "
- 您想要"
)。
对于子页面,我们必须看到生成的网址,但我猜测它也与链接有关 - 为了与您的方式保持一致,我可能会看到链接:
<a class="link" href="index.php?id=page3&subid=2">Subcontent 2</a>
然后在php:
if (isset($_GET['subid'])) {
$subid = $_GET['subid'];
} else {
$subid = 1;
}
switch($subid) {