将URL中的变量传递给另一个PHP页面

时间:2014-05-07 15:07:41

标签: php html

我正在尝试将一个变量从一个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'])

希望有人可以提供帮助。干杯

2 个答案:

答案 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;]; .... .... }