我正在学习如何用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'未定义。我已经使用'nome'来修改并恢复其他2页的会话。
答案 0 :(得分: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>
答案 1 :(得分:0)
您收到未定义错误消息的原因是:
您有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'];
}
?>