Php 未定义索引:setCookie的Name参数中的数组
我知道以前有人问过和回答过未定义的索引问题。但请让我幽默一下。我找不到这个具体案例的答案。(这是一个不同寻常的例子。) 这工作没有问题Php 未定义索引:setCookie的Name参数中的数组,php,setcookie,undefined-index,Php,Setcookie,Undefined Index,我知道以前有人问过和回答过未定义的索引问题。但请让我幽默一下。我找不到这个具体案例的答案。(这是一个不同寻常的例子。) 这工作没有问题 <?php session_start(); if ( ! isset ( $_SESSION['loggedin'] ) ) { $_SESSION['loggedin'] = FALSE; } $expiry = time()+60*60*9000; setcookie('loggedin', 'foo', $expiry); echo
<?php
session_start();
if ( ! isset ( $_SESSION['loggedin'] ) ) {
$_SESSION['loggedin'] = FALSE;
}
$expiry = time()+60*60*9000;
setcookie('loggedin', 'foo', $expiry);
echo "sessionvalue " . $_SESSION['loggedin'] . '<br>';
echo "cookievalue " . $_COOKIE['loggedin'] . '<br>';
?>
但是,当我将setCookie中的Name参数更改为如下数组时:
<?php
session_start();
if ( ! isset ( $_SESSION['loggedin'] ) ) {
$_SESSION['loggedin'] = FALSE;
}
$expiry = time()+60*60*9000;
setcookie('cookievalue[loggedin]', 'foo', $expiry);
echo "sessionvalue " . $_SESSION['loggedin'] . '<br>';
echo "cookievalue " . $_COOKIE['cookievalue[loggedin]'] . '<br>';
?>
我可以声明什么,以及如何避免第二种情况中的“通知”?echo“cookievalue”$_COOKIE['cookievalue[loggedin]'。'
';
应该是
echo“cookievalue”$_COOKIE['cookievalue']['loggedin'].'
';
Tryecho“cookievalue”$_COOKIE['cookievalue']['loggedin'].'
'代码>@V4KK4R只要PHP 5.4就可以工作,看看示例#3Did您只需复制粘贴@V4KK4R的注释?:)@萨马拉斯,我没注意到。下次我一定要把所有的评论都读一遍。谢谢你指出这一点!
<?php
session_start();
if ( ! isset ( $_SESSION['loggedin'] ) ) {
$_SESSION['loggedin'] = FALSE;
}
$expiry = time()+60*60*9000;
setcookie('cookievalue[loggedin]', 'foo', $expiry);
echo "sessionvalue " . $_SESSION['loggedin'] . '<br>';
echo "cookievalue " . $_COOKIE['cookievalue[loggedin]'] . '<br>';
?>
sessionvalue 1
Notice: Undefined index: cookievalue[loggedin] in /Applications/XAMPP/xamppfiles/htdocs/simpleauth/headersessioncookie.php on line 13
cookievalue