Php 会话不';不要在MAMP上工作
当我尝试在本地主机上运行我的站点时,我收到一个错误:Php 会话不';不要在MAMP上工作,php,session,localhost,mamp,Php,Session,Localhost,Mamp,当我尝试在本地主机上运行我的站点时,我收到一个错误: Undefined index: log in ... on line 137 在此文件中有一行: if (!$_SESSION['log']) { ... 一切都可以在服务器上运行,但不能在本地主机上运行。我可以做些什么来修复它?服务器和本地设置之间的错误报告级别可能有所不同 如果要检查变量是否已设置(假设会话已启动…),应使用: if (!isset($_SESSION['log'])) { 或者,如果您想检查它是否未设置和/或为空
Undefined index: log in ... on line 137
在此文件中有一行:
if (!$_SESSION['log']) { ...
一切都可以在服务器上运行,但不能在本地主机上运行。我可以做些什么来修复它?服务器和本地设置之间的错误报告级别可能有所不同 如果要检查变量是否已设置(假设会话已启动…),应使用:
if (!isset($_SESSION['log'])) {
或者,如果您想检查它是否未设置和/或为空或false
:
if (empty($_SESSION['log'])) {
两者都不会为未设置的变量或数组索引生成任何警告。它可能“在服务器上”不起作用,而只是没有向页面显示错误消息
通过将if语句更改为以下内容,可以修复索引中的警告:
if (isset($_SESSION['log']) && !$_SESSION['log']) {
或者是任何你需要的条件。你启动了你的会话吗?(
session_start();
)if语句永远不会触发。如果第一个子句的计算结果为true,第二个子句的计算结果将始终为false。请再次检查您的逻辑。我想你会发现那是一个空()。如果$_SESSION['log']的值设置为false,则会将其设置为false,而不是true。资料来源: