Php 如何创建会话变量而不给它赋值?[菲律宾]
基本上我的问题如下:Php 如何创建会话变量而不给它赋值?[菲律宾],php,session,Php,Session,基本上我的问题如下: if (empty($username)) { $_SESSION['error messages'][] = 'username missing'; } 我正在尝试创建一个会话变量 这样的事情才会发生 if(username == false) { $_SESSION['error messages'] = 'username missing'; } 问题是,虽然没有错误,但我希望$\u会话['error messages']为空。 但如果我不这样做:
if (empty($username)) {
$_SESSION['error messages'][] = 'username missing';
}
我正在尝试创建一个会话变量
这样的事情才会发生
if(username == false)
{
$_SESSION['error messages'] = 'username missing';
}
问题是,虽然没有错误,但我希望$\u会话['error messages']为空。
但如果我不这样做:
$_SESSION['error messages'] = 'garbage';
if(username == false)
{
$_SESSION['error messages'] = 'username missing';
}
它表示未定义$\u会话['error messages']
在需要该变量之前,如何使其为空
谢谢您使用下面的代码
if(username==false) {
$_SESSION['error messages']='username missing';
}
希望这对您有所帮助首先,要保存错误消息,请使用以下命令:
if (empty($username)) {
$_SESSION['error messages'][] = 'username missing';
}
最好保留一个错误消息数组。这样,如果你有多个错误,你可以很容易地循环,计算,等等
然后,如果要显示错误消息,请执行以下操作
if (isset($_SESSION['error messages']) && is_array($_SESSION['error messages'])) {
foreach ($_SESSION['error messages'] as $errorMessage) {
// Do something with the error message, for instance:
printf ("The following error occured: <em>%s</em><br>", $errorMessage);
}
// Next, clear the error messages so that they do not pop up on the next page request.
unset($_SESSION['error messages']);
}
将使用$\u SESSION['error messages']的代码包装在中,以确保不会收到有关未定义索引的错误消息。像这样初始化会话变量
$_SESSION['error messages'] = null;
if($username == false) {
$_SESSION['error messages'] = 'username missing';
}
您可以初始化任何其他类型的变量,而不仅仅是会话变量
$_SESSION['error messages'] = 'garbage';
if(username == false)
{
$_SESSION['error messages'] = 'username missing';
}
您错过了==处于if条件。要检查是否设置了$\u会话['error message'],请使用以下命令:
if(!isset($_SESSION['error message'])){
$_SESSION['error message'] = '';
}
如果尚未设置会话变量,则将创建空会话变量
但是您可能正在代码中的某个地方访问这个会话变量,而您并不需要它,因此只有在您确实需要它时才访问该变量,到处都是空变量并不是很好
你最好改变你的代码,这样它就不会试图访问一些没有设置也不需要的东西,而不是设置空变量来破解你的代码,让它工作。当你不想在其中包含任何数据时,为什么不将其设置为呢?我想你必须详细说明你的问题,我不明白!在if条件中有一个变量赋值=,而不是条件=。这可能就是您没有看到会话变量的原因。@NoLiver92,因为如果我这样设置,消息出现的红方块将保持不变there@Rizier123,如果我把您弄糊涂了,我很抱歉,但我真的不知道还有什么方法可以指定更多内容:如果我不给$\u会话['error messages'一些值,则会出现一个错误'Undefined index'在我的剧本中。但我只希望它有一个值,如果有错误,否则它应该是空的,即使有一个值像我不知道用户名是一个constant@Rizier123纠正它