我正在尝试将一个变量从一个php页面传递到URL中的下一个
以下是我的例子:
<a href="<?php echo $MYURLPREFIX; ?>/gifts.html?category=novelty">Shop Now</a>
然后我想根据查询字符串中传递的内容执行相应的数组。 所以在我的gifts.php上我有:
if($SITE==SITE_MYSITE)
{
echo "<img src=\"images/gifts.png\" alt=\"Gifts Banner\">";
require_once("classfile.php");
if($SITE==SITE_MYSITE)
{
$giftsArray=array(
new gift('','10045'),
new gift('','10048'),
new gift('','10079'),
new gift('','10103'),
new gift('','10143'),
new gift('','1024'),
new gift('','10389'),
new gift('','10452'),
new gift('','10457'),
new gift('','10515'),
new gift('','10538'),
new gift('','10540'),
new gift('','10574'),
new gift('','10616'),
new gift('','10639')
);
}
}
我想执行上面的块,如果&#34;新颖性&#34;是通过查询字符串发送的,但我不确定处理请求最安全的方法。
我一直试图做的,哪些不起作用:
if ($SITE==SITE_MYSITE) && (isset($category['novelty'])
希望有人可以提供帮助。干杯
答案 0 :(得分:3)
没有这样的变数:
$category['novelty']
查询字符串值位于$_GET
集合中,其中键是传递的键(&#34;类别&#34;),值是传递的值(&#34;新颖性&#34 ;),因此您将该值引用为:
$_GET['category']
这应该包含字符串值:
'novelty'
所以你可以这样做:
if(isset($_GET['category'])) {
// a category has been specified
if ($_GET['category'] == 'novelty') {
// the specified category is "novelty"
} else {
// the specified category is something else
}
} else {
// a category has not been specified
}
嵌套条件可能会有点笨拙,但您可以按照自己的意愿组织和排列逻辑。
答案 1 :(得分:1)
您没有定义$ SITE。因此,条件无法完成,其他方面你可以写 if(isset($ _ GET [&#39; category n#39;])){ $ category = $ _ GET [&#39; category n#39;]; .... .... }