我按下提交按钮时设置会话变量,如下所示:
<?php
$submit = @$_POST["submit"];
if($submit){
$_SESSION['id'] = $id;
}
?>
<form action="add.php" method="POST">
<input type="submit" name="submit" value="Add">
</form>
但是,当我这样做时,在页面add.php
中:
print_r($_SESSION['id'];
我收到以下错误:
Undefined index: id
我对会话很陌生,所以仍然试图掌握它们,但我认为我所做的部分$_SESSION['id'] = $id;
是我将索引id
定义为的值$id
变量?有人可以解释我哪里错了吗?
更新
如果您想知道我是否在使用session_start()
:在页面顶部附带表单,我会在顶部包含require_once './init.php';
的标题页。在add.php
的顶部,我只有require_once './init.php';
行(我不在add.php
中包含头文件,因为该页面在执行完代码后会立即重定向。
在init.php
文件中有以下内容:
<?php
session_start();
require_once 'configurate.php'; //database info
?>
答案 0 :(得分:0)
在session_start()
$_SESSION
像这样更改您的代码
<?php
session_start();
$submit = @$_POST["submit"];
if($submit){
$_SESSION['id'] = $id;
}
?>
<form action="add.php" method="POST">
<input type="submit" name="submit" value="Add">
</form>
答案 1 :(得分:0)
$_SESSION
$_POST["submit"]
提交的值与false(例如""
或0
)比较,您的条件if($submit)
不会成功,请更好地使用{{1}而不是