【问题标题】:PHP $_GET Variable from previous pagePHP $_GET 上一页的变量
【发布时间】:2013-03-01 06:03:33
【问题描述】:

当用户点击一个类别时,它会转到InsectsandPlants.php?pg=1?pg=whatevercategory。然后在下一页我有一个项目列表,每个项目都有一个唯一的 URL,类似于: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= 编号而变化。

有人可以帮忙吗?

【问题讨论】:

    标签: php sql variables get


    【解决方案1】:

    听起来任何链接都需要:

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

    这样$_GET['pg'] 将被添加到 URL 的查询字符串中,并在网站中传播。如果您有很多链接并且需要在全球范围内访问它,这可能需要一些工作。

    如果是这种情况,martriay 的建议可能会更好(但会在您的服务器上增加非常小的额外负载)。

    【讨论】:

      【解决方案2】:

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

      session_start(); //this must be before any output, at the beginning of the script would be great
      
      $_SESSION['pgnumber'] = $_GET['pg'];
      

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

      【讨论】:

        【解决方案3】:

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

        以下代码可能有助于使用

        <?php 
        session_start();
        
        ... some Code
        
        $_SESSION['aud'] = $_GET['aud'];
        
        
        ... Some Code
        
        ?>
        

        现在只要你需要使用它,你可以按如下方式使用它

        <?php 
        $aud = 0 ;
        
        if(isset($_SESSION['aud']))
        {
         $aud = $_SESSION['aud'];
        }
        
        ?>
        

        【讨论】:

          【解决方案4】:

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

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 2013-05-15
            • 2019-11-30
            • 1970-01-01
            • 2012-03-30
            • 1970-01-01
            • 1970-01-01
            • 2019-07-25
            • 2011-07-07
            相关资源
            最近更新 更多