PHP如何构建动态URL然后转到位置?

时间:2015-03-17 19:34:01

标签: php url dynamic get

首先,我不太了解PHP中的Location函数,因为如果我将它放在if(isset)或if($ _ GET)语句中,它似乎什么都不做。 其次,主要是,我对构建动态URL感兴趣。

这个想法是,当用户点击一个href时,它首先将$ Product变量添加到$ url,然后执行href,显示新页面。

我在使用href时遇到问题,因为我认为它实际上是在$ _GET函数之前执行的,因此我的$ url在执行之前没有将变量加载到自身中。

我已经部分工作了,但每次点击第二个href时,似乎都会在网址中添加Price=ASC



<?php
ob_start();
DEFINE ('DB_USER', 'asd');
DEFINE ('DB_PASSWORD', 'asd');
DEFINE ('DB_HOST', 'localhost');
DEFINE ('DB_NAME', 'asd');
$link = @mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME)
OR die('Could not connect to MySQL: ' .mysqli_connect_error());
$url = 'http://localhost/example/index.php?';
session_start();
$query1 = "SELECT Product, Price, FROM db1";		
$result1 = @mysqli_query( $link , $query1 ) or trigger_error("Data error."); 
$GETProduct = '';
$GETPrice = '';

if(!empty($_GET['Product'])){
	$GETProduct = '';
	$GETProduct = 'Product=' . $_GET['Product'] . '';
	}
if(empty($_GET['Product'])){
	$GETProduct = '';
	$GETProduct = 'Product=ALL';
	}
if(!empty($_GET['Price'])){
	$GETPrice = '';
	$GETPrice = 'Price=' . $_GET['Price'] . '';
	}	
if(empty($_GET['Price'])){
	$GETPrice = '';
	$GETPrice = 'Price=ASC';
	}
	
?>
<html>
<head>
</head>
<ul>
	<li><a href="<?php echo '' . $url . 'Product=TV' . $GETPrice . '';?>" 
		name="Product" id="Product" style="color:#000;"/>Product</a>
	</li>
	<li><a href="<?php echo '' . $url . '' . $GETProduct . 'Price=ASC';?>" 
		name="Price" id="Price" style="color:#000;"/>All Prices</a>
	</li>
</ul>
<?php 

echo $url;
echo '###########';
echo $GETProduct;
echo '###########';
echo $GETPrice;

?>
</html>
&#13;
&#13;
&#13;

2 个答案:

答案 0 :(得分:0)

将变量连接到PHP的URL

www.myurl.com/filename.php?object=myVar&object=myVar

注意上面代码段中的amperstand并将其添加到您的代码中。

答案 1 :(得分:0)

好吧,在你的第二个链接中,你将'Price = ASC'附加到网址的末尾

<a href="<?php echo '' . $url . '' . $GETProduct . 'Price=ASC';?>" 
    name="Price" id="Price" style="color:#000;"/>All Prices</a>

您的预期行为是什么?