首页 > 解决方案 > 如何在会话中保留 $_GET 变量值

问题描述

我试图在会话中保留 $id 值,以便我可以在分页中有效地使用它......

  if(empty($_GET["cat"])){
        $session->message('<div class="error-msg">No product was selected.</div>');
        redirect_to("view_all.php");
    }else{
        $id         = $database->escape_value($_GET["cat"]);

        $page = !empty($_GET['page']) ? (int)$_GET['page'] : 1;

        $per_page = 50;

        $sql = "SELECT COUNT(*) FROM products WHERE category='$id'";
        $sql = $database->query($sql);
        $sql = $database->fetch_array($sql);
        $total_count = array_shift($sql);

        $pagination = new Pagination($page, $per_page, $total_count);

        $sql = "SELECT * FROM products WHERE category='$id'";   
        $sql .= " ORDER by id DESC";
        $sql .= " LIMIT {$per_page} ";
        $sql .= "OFFSET {$pagination->offset()}";
        $result = Product::find_by_sql($sql);   
    }

标签: phpsession

解决方案


你不应该先用命令开始会话吗:session_start()?然后将其添加到$_SESSION而不是$session. 如果你把它写成$session,它就像任何其他变量一样,但它是$_SESSION官方的 PHP 会话变量


推荐阅读