[英]Passing multiple variable in url
您好,我有一個頁面,它在 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;
}
?>
和我的專輯1.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
有什么可能的方法來消除它嗎? 或在鏈接加載時不包含
在包含文件后,沒有(簡單的)方法可以刪除包含的文件。
但是,當不包含專輯時,為什么不只包含導航鏈接? 像這樣(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;
}
?>
嘗試這個:
<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");
}
}
?>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.