PHP $ _GET上一页的变量

时间:2013-03-01 06:03:34

标签: php sql variables get

当用户点击某个类别时,它会转到InsectsandPlants.php?pg=1?pg=whatevercategory。然后在下一页上,我有一个项目列表,每个项目都有一个类似于view.php?aud=5的唯一网址,但每个项目的?aud更改。所以这是我的view.php代码:

<?php

    $audint=$_GET['aud'];
    $result=mysql_query("SELECT * FROM insects WHERE inid=$audint");

    while($row=mysql_fetch_array($result))
    {
        $lru = $row['url'];
        $title = $row['title'];
?>
<h3>You Are Viewing <?php echo $title; ?></br></br>
<embed src="<?php echo $lru; ?>" autostart="true" loop="false" controller="true" bgcolor="#000" height="42" width="300">
</br></br>
<?php
    }
?>

类别页面:

<?php

    $pgint=$_GET['pg'];

    switch($pgint)
    {
        case "1":
            echo '<li><h4>Insects and Plants</h4>';
            $result=mysql_query("SELECT * FROM insects ORDER BY inid ASC");
        break;
        case "2":
            echo '<li><h4>Dr. Seuss</h4>';
            $result=mysql_query("SELECT * FROM DrSeuss ORDER BY inid ASC");
        break;
    }

    while($row=mysql_fetch_array($result))
    {
        array_reverse($row);
        $lru = $row['url'];
        $title = $row['title'];
        $id=$row['inid'];
    ?>

适用于?pg=1,因为它链接到insects SQL表。但我想创建一个变量,该变量根据前一页的?pg=数字而变化。

任何人都可以帮忙吗?

4 个答案:

答案 0 :(得分:1)

听起来像任何链接都需要:

<a href="someurl.php?blah=blah&pg=<?PHP echo $_GET['PHP'];?>">...</a>

这种方式$_GET['pg']将被添加到URL的查询字符串中并在网站上传播。如果你有很多链接并且需要它可以全局访问,那么可能需要一些工作。

如果是这种情况,martriay的建议可能会更好(但会对您的服务器造成非常小的额外负担)。

答案 1 :(得分:1)

您应该将该值存储在会话变量中。

session_start(); //this must be before any output, at the beginning of the script would be great

$_SESSION['pgnumber'] = $_GET['pg'];

这样,在任何其他脚本中,您都使用$_SESSION['pgnumber']变量

答案 2 :(得分:0)

您需要保存$ _GET ['aud'];在导航到某个地方之前的某个会话变量中

以下代码可能有助于使用

<?php 
session_start();

... some Code

$_SESSION['aud'] = $_GET['aud'];


... Some Code

?>

现在无论何时需要使用它,您都可以按照以下方式使用它

<?php 
$aud = 0 ;

if(isset($_SESSION['aud']))
{
 $aud = $_SESSION['aud'];
}

?>

答案 3 :(得分:0)

永远不要将请求数据直接放入sql查询中。每个人都可以轻松访问您的数据库。从头开始创建安全页面。