【问题标题】:PHP undefined index is defined [closed]PHP未定义索引已定义[关闭]
【发布时间】:2014-04-30 12:53:39
【问题描述】:

我正在学习如何在 PHP 中创建会话,但陷入了 sintax 问题,这是我到处寻找但没有找到的解决方案。

<?php
session_start();
unset($_SESSION['nome']);
?>
<html>
    <head><title>Finalizando uma Sessão</title></head>
    <body>
        A variável <?php echo $_SESSION['nome']?> foi finalizada.
    </body>
</html>

它表示索引“nome”未定义。我在另外 2 个页面中使用了“nome”来启动和恢复会话。

【问题讨论】:

  • 您正在取消设置,然后尝试回显它??
  • 请阅读:unset
  • 您已取消设置会话,然后您尝试回显它,因此您的代码(奇怪)已经完成了它的工作。使用isset 检查它是否已设置,然后 try 回显它。即:if (isset($_SESSION['nome'])){ echo $_SESSION['nome']; } else{ echo "Session is not set";}

标签: php session indexing


【解决方案1】:

您使用unset 函数。该功能用于取消设置变量。 要创建会话,您需要这样做:

$_SESSION['nome'] = 'Msalvatori'

<?php
session_start();
$_SESSION['nome'] = 'Msalvatori'
?>
<html>
    <head><title>Finalizando uma Sessão</title></head>
    <body>
        A variável <?php echo $_SESSION['nome']?> foi finalizada.
    </body>
</html>

【讨论】:

  • 我想我并不清楚我的怀疑。我想取消设置会话,但随后,我想通过在我的页面上显示索引来确认索引未设置。如果我在取消设置后无法使用索引,还有其他方法可以显示索引吗?
  • 是的right here@Msalvatori
【解决方案2】:

您收到未定义错误消息的原因是:

你有unset'ted会话名称然后你试图回应它,所以你的代码(奇怪)已经完成了它的工作。使用isset()检查是否设置,然后回显。

使用条件isset 语句查看以下内容。

<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
session_start();

unset($_SESSION['nome']);
?>

<html>
    <head><title>Finalizando uma Sessão</title></head>
    <body>
        A variável <?php // echo $_SESSION['nome']; 
        if (isset($_SESSION['nome'])){ 
        echo $_SESSION['nome']; 
        } else{ echo "Session is not set";} ?> foi finalizada.
    </body>
</html>

如果您不想在其位置回显“会话未设置”,只需执行以下操作:

echo "\n";

你也可以这样做:

<?php 
    if (isset($_SESSION['nome'])){ 
        echo $_SESSION['nome']; 
    } 

    else{ 
    $_SESSION['nome'] = "John";

        echo $_SESSION['nome'];
    }
?>

如果来自 POST 变量,您可以这样做:

<?php 
// $_POST['nome'] = "John";

$name = $_POST['nome'];

if (isset($_SESSION['nome'])){ 
echo $_SESSION['nome']; 
} else{ 

$_SESSION['nome'] = $_POST['nome'];
echo $_SESSION['nome'];

}
?>

【讨论】:

    猜你喜欢
    • 2018-08-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-15
    相关资源
    最近更新 更多