【问题标题】:Why is this variable undefined? (PHP)为什么这个变量未定义? (PHP)
【发布时间】:2014-03-23 16:49:18
【问题描述】:

-再次编辑- 谢谢各位,稍微修改了一下,搞定了


我正在测试学习如何使用变量,我遇到了这个错误:

Undefined variable: _SESSION in F:\wamp\www\css\Products.php on line 34

它调用的行来自以下:

<?php

        if(isset($message)){
            echo "<h2><center>$message</center></h2>";
        }
    echo print_r($_SESSION['Cart']);
?>

(“Echo”行是第 34 行)

但我以为我用这个定义了变量:

<?php

    if(isset($_GET['action']) && $_GET['action']=="add"){

        $id=intval($_GET['id']);

        if(isset($_SESSION['Cart']['id'])){
        $_SESSION['Cart'][$id]['quantity']++;

        }else{

            $sql_s="SELECT * FROM products
                WHERE Product_ID={$id}";
            $query_s=mysql_query($sql_s);
            if(mysql_num_rows($query_s)!=0){
                $row_s=mysql_fetch_array($query_s);

                $_SESSION['Cart'][$row_s['Product_ID']]=array(
                    "quantity" => 1
                    );
            }else{

                $message="This product does not exist.";
            }
        }
    }
?>

全部匹配我的 SQL 表名称。

-编辑-

我忘了提到我确实有 session_start();在我的文档的顶部,但是这个特定的页面是由我的索引调用的。我的索引以

开头
<?php
    session_start();
    require("connection.php");
    if(isset($_GET['page'])){

        $pages=array("Products","Selection");

        if(in_array($_GET['page'], $pages)) {

            $_page=$_GET['page'];

        }else{
            $_page="Products";
        }
    }else{
        $_page="Products";
    }
?>

“产品”是我遇到问题的页面,尽管它可能与此相关。

【问题讨论】:

  • 感谢所有回答的人,我忘了说会话已经开始了。问题出在其他地方。

标签: php session variables


【解决方案1】:

您忘记将session_start() 放在页面顶部。没有它,会话将无法工作。

<?php
    session_start();
    if(isset($_GET['action']) && $_GET['action']=="add"){

        $id=intval($_GET['id']);

【讨论】:

  • 它是session_start(); 你在你的第二个实例上放了session_strat(); ;)
  • @John Conde :) 我也像你一样准备好回答,但我不能发布先生,因为你已经上传了..谢谢
  • @ShankarDamodaran 我不确定他们发布的代码是一页还是两页。我假设两个。
  • 回想起来可能是一个。无论哪种方式,我认为我都明白了。
【解决方案2】:

您需要在 PHP 代码之上添加session_start();。这就是其背后的确切原因!

<?php
session_start(); //<-------- This one !!!!

在您使用会话的每个页面上添加它!

【讨论】:

    【解决方案3】:
    <?php
    
    session_start();
    

    在您的 PHP 页面顶部开始会话

    【讨论】:

      猜你喜欢
      • 2014-12-05
      • 1970-01-01
      • 2022-01-05
      • 2016-07-20
      • 1970-01-01
      • 1970-01-01
      • 2017-07-23
      • 2016-08-12
      • 2014-05-13
      相关资源
      最近更新 更多