Php 会话无法正常工作
我为使用会话的网页编写了代码。我用的是Mac电脑,它工作正常。我在Windows上尝试了我的页面,但会话似乎不起作用。事实证明,我声明的会话变量在其他页面中不存在。我在每页的开头都使用了Php 会话无法正常工作,php,session,Php,Session,我为使用会话的网页编写了代码。我用的是Mac电脑,它工作正常。我在Windows上尝试了我的页面,但会话似乎不起作用。事实证明,我声明的会话变量在其他页面中不存在。我在每页的开头都使用了session\u start()。关于这个问题,我读到的一个解决方案是使用session\u write\u close(),但它不起作用。当我在$\u SESSION上使用var\u dump()时,我只看到在同一页面中声明的内容(Mac和Windows都是这种情况)。在windows和Mac上,我使用了Ch
session\u start()
。关于这个问题,我读到的一个解决方案是使用session\u write\u close()
,但它不起作用。当我在$\u SESSION
上使用var\u dump()
时,我只看到在同一页面中声明的内容(Mac和Windows都是这种情况)。在windows和Mac上,我使用了Chrome。我认为它在Mac上有效的原因之一是因为我没有收到错误,它只是有效,但是在Windows上,我得到了错误行,它说我正在使用的会话索引未定义
我的情况有什么问题?我该怎么解决呢
编辑:
下面是在会话中设置变量的代码,这是页面的第一个块
<?php
session_start();
session_destroy();
$_SESSION["contestant_name"]["topics_done"] = array( FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE, FALSE ); // topics done
$_SESSION["contestant_name"]["topics_score_correct"] = array();
$_SESSION["contestant_name"]["topics_score_wrong"] = array();
$_SESSION["contestant_name"]["correct"] = 0;
$_SESSION["contestant_name"]["wrong"] = 0;
?>
下面是读取变量的代码
<?php
session_start();
if (isset($_POST["submit"]))
$name = $_POST["name"];
if(!isset($_SESSION["contestant_name"]["name"]))
$_SESSION["contestant_name"]["name"] = $name;
// if ($_SESSION["contestant_name"]["name"] == "")
// $_SESSION["contestant_name"]["name"] = $name;
print $_SESSION["contestant_name"]["name"];
$arr = $_SESSION["contestant_name"]["topics_done"]; // getting it as null or empty
var_dump($_SESSION);
print count($arr);
print_r($arr);
?>
在将会话变量存储到上一页后,我将尝试在此处使用它们。在任何其他内容之前,每个页面顶部的代码都应该是(确保它位于我所放置的最上面一行)
在每一页的底部写上:
<?php ob_end_flush();?>
不要将任何内容放在第一个代码之前或第二个代码之后。phpinfo()的会话部分是什么意思?您是否在localhost上运行此操作?@SLaks如果我改为cookies,代码是否会发生剧烈变化@frenus
会话支持
已启用@Alex-Info.net是的我在本地计算机上运行它host@SLaks我想在所有页面上存储一个数组,但它似乎不适用于cookies,对吗?会话\u start的返回值是多少?页面是否在同一子域中?你在哪里写会话数据?@aizen92你能提供设置和读取这些变量的代码吗?我在上面的问题中添加了设置和读取变量的代码,这是我试图使用上一页会话中保存的变量的代码。如果需要更多的代码,请告诉我,以便我添加它们;刚开始课时。这是个错误吗?这将在您完成任何操作之前结束会话。我使用它删除以前使用过的会话,我在这里使用它是否错误?我认为这就是问题所在。尝试删除它。
<?php ob_end_flush();?>