簡體   English   中英

在 url 中傳遞多個變量

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM