点击页面其他类别后 PHP session 变量丢失

标签 php mysql session-variables

我有一个网站,例如 OLX.com,用于二手产品买卖,索引页面有城市过滤器下拉列表,一旦用户单击过滤器,他将仅看到其过滤器城市中的产品,并重定向到页面 city_filter。 php 到目前为止一切正常, 经过城市过滤后,当用户单击任何类别(例如计算机或电子产品)时,用户未找到任何产品,所有类别均来自 mysql 数据库,city_filter.php 包含 function_city.php 用于所有类别的调用函数,请找到在function_city.php上创建的city_filter.php函数,如下:

function displaycomputer_city(){

                global $con;
                $get_cats = "select * from categories where categories_id = 1";
                $run_cats = mysqli_query($con, $get_cats);

                while ($row_cats=mysqli_fetch_array($run_cats)) {

                $computer_id = $row_cats['categories_id'];
                $computer_title = $row_cats['categories_name'];     

                echo "<li><a href='city_filter.php?computer_cat=$computer_id'>$computer_title</a></li>";

                }


        }

city_filter.php页面上,当我单击“计算机”时,它会在浏览器computer_cat=id上显示,并且我使用提及功能仅从过滤器城市过滤计算机

function getcomputerpro_city() {

        global $con;
        global $eu;
        global $limit;  

        if(isset($_GET['computer_cat'])){               

            $cat_id = $_GET ['computer_cat'];   
$get_products = "SELECT product_list.*, city1.* FROM product_list INNER JOIN city1 ON product_list.city_id=city1.city_id AND product_list.city_id={$_SESSEION['city_id']} AND categories_id='$cat_id' limit $eu, $limit";

foreach ($con->query($get_products) as $row) {

echo "<div class='ser-grid-list'>
<h5>$row[product_title]</h5>
    <img src='admin_area/product_images/$row[image_1]' width='160' height='110' alt=''>
    <p>Price : $row[currency] $row[product_price]</p>
    <p>City : $row[city_name]</p>
    <p>Date : $row[date]</p>
    <div class='btn top'><a href='details.php?pro_id=$row[list_id]'>View More</a></div>
</div>";
}   
}       
}   

我认为我不会给出正确的原因,因为我注意到,当我单击计算机类别时,它需要使用 GET 方法接收的 computer_cat = id ,一旦单击类别城市 ID session 迷失了,我不知道这种情况的做法是什么。

最佳答案

如果您在每个页面的开头包含 session_start(); 并且没有取消设置/销毁 session ,则此处有一个拼写错误:

Change this:

$get_products = "SELECT product_list.*, city1.* FROM product_list INNER JOIN city1 ON product_list.city_id=city1.city_id AND product_list.city_id={$_SESSEION['city_id']} AND categories_id='$cat_id' limit $eu, $limit";

to this:

$get_products = "SELECT product_list.*, city1.* FROM product_list INNER JOIN city1 ON product_list.city_id=city1.city_id AND product_list.city_id={$_SESSION['city_id']} AND categories_id='$cat_id' limit $eu, $limit";

关于点击页面其他类别后 PHP session 变量丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32094579/

相关文章:

php - 存储 LDAP 连接并在 session 中绑定(bind)

asp.net - asp.net 应用程序中的 session 变量超时

php - 获取每行的总无数据

php - 字段中每个值的 MYSQL 计数

php - MySQL WHERE LIKE 无法使用 php 和 pdo bind 处理多个字段

PHP/MySQL 更新查询

php - 当 memory_limit 设置为 -1 时,什么限制了 PHP 内存?

php - 带有多值字段的mysql高级搜索查询

php - 在 javascript 中使用来自 Controller (或 View )的 php 数据

asp.net - 在Web应用程序之间共享SQL Server session 状态