2014-03-31 137 views
-1

你好,我有一个页面,传递2个变量在URL中,并使用开关,以包括不同的PHP页面。在URL中传递多个变量

这里是我的代码,以我的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文件。它看起来像这样

关于| gallery ALBUM 1 | ALBUM 2 图像1个图像2图像3

我想删除inlcuded PHP文件(gallery.php)而不改变链路 http://sample.com/?p=gallery&albumID=1

是任何可能的方式,以去除?或不包括何时加载链接

+0

只是为了澄清,你不希望显示链接到页面当前加载或者是别的东西吗? – MSadura

+0

这里是示例链接 对不添加链接 http://teamarunkada.com/sample – itsmeniel

回答

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; 
} 
?> 
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"); 
} 

} 

?>