- 再次编辑 - 谢谢你们,修补了一下并得到了它
我正在测试如何使用变量,我遇到了这个错误:
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";
}
?>
“产品”是我遇到问题的页面,尽管它可能与此相关。
答案 0 :(得分:2)
您忘了将session_start()
放在页面顶部。如果没有它,会话将无法运作。
<?php
session_start();
if(isset($_GET['action']) && $_GET['action']=="add"){
$id=intval($_GET['id']);
答案 1 :(得分:1)
您需要在PHP代码之上添加session_start();
。这就是背后的确切原因!
<?php
session_start(); //<-------- This one !!!!
在您使用会话的每个页面上添加它!
答案 2 :(得分:0)
<?php
session_start();
在PHP页面顶部启动会话