0

我创建了一个会话变量,用于将错误消息从我的 mail.php 文件传递​​到调用它的文件。

session_start();
if(something) {
    $_SESSION['error'] = "something went wrong";
}

我尝试在名为 mail.php 的文件中读取它:

if(!empty($_SESSION['error'])) {
    echo $_SESSION['error'];
} else {
    echo "Email sent!";
}

但它不起作用。我在两个文件的页面顶部调用 session_start() 。

var_dump 给出了这个:

array(1) { ["error"]=> string(41) "Not all fields are filled in." } ­
4

2 回答 2

0

session_write_close();在会话通话结束时使用。

于 2012-09-10T13:42:18.937 回答
0

只有在重新加载页面时才能访问会话变量。在同一个页面加载中,它将无法访问。我也遇到了这个问题。可能取决于执行顺序或其他东西。

如果未设置会话变量,则尝试使用全局数组作为备份。

if(!isset($_SESSION['var'])) $x = $_GLOBALS['var'];
于 2012-09-10T13:15:55.153 回答