你好,我有一个页面在url中传递2个变量,并使用switch包含不同的php页面。
这是我的index.php代码(用于模板)
<a href="?p=about">about </a> | <a href="?p=gallery">gallery</a>
<?php
$x=isset($_GET['p'])?$_GET['p']:"";
switch($x)
{
case"about":include("about.php");break;
case"gallery":include("gallery.php");break;
default:include("home.php");
}
?>
我的gallery.php的代码
<a href="?p=gallery&albumID=1">ALBUM 1</a> | <a href="?p=gallery&albumID=2">ALBUM 2</a>
<?php
$y=isset($_GET['p'])?$_GET['p']:"";
switch($y)
{
case 1:include("album1.php");break;
case 2:include("album2.php");break;
}
?>
和我的album1.php的代码
<img src="img1.png"><img src="img2.png"><img src="img3.png">
我的问题是我打开链接http://sample.com/?p=gallery&albumID=1 它加载两个PHP文件。它看起来像这个
关于|画廊 专辑1 |专辑2 图片1图片2图片3
我想在不更改链接的情况下删除包含的php文件(gallery.php) http://sample.com/?p=gallery&albumID=1
是否有可能删除它?或者在加载链接时不包括
答案 0 :(得分:0)
在包含文件被包含后,没有(微不足道的)方法删除它。
但是,如果没有包含相册,为什么不包含导航链接?像这样(gallery.php):
<?php
$y=isset($_GET['albumID'])?$_GET['albumID']:"";
switch($y)
{
case 1:include("album1.php");break;
case 2:include("album2.php");break;
default: echo '<a href="?p=gallery&albumID=1">ALBUM 1</a> | <a href="?p=gallery&albumID=2">ALBUM 2</a>'; break;
}
?>
答案 1 :(得分:0)
试试这个:
<a href="?p=gallery&albumID=1">ALBUM 1</a> | <a href="?p=gallery&albumID=2">ALBUM 2</a>
<?php
$x=isset($_GET['p'])?$_GET['p']:"";
$y=isset($_GET['albumID'])?$_GET['albumID']:"";
if ($y != "" && $x != "" && $x == "gallery")
{
switch($y)
{
case 1:include("album1.php");break;
case 2:include("album2.php");break;
}
} else {
switch($x)
{
case"about":include("about.php");break;
case"gallery":include("gallery.php");break;
default:include("home.php");
}
}
?>