首先,我不太了解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;
答案 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>
您的预期行为是什么?