Cookie没有使用setcookie()进行设置;

问题描述 投票:0回答:1

我有一个服务器,在我在主服务器中设置之​​前测试所有内容。当我使用setcookie()设置cookie时,会出现此问题;

我正在使用cookie来设置与ajax的会话,代码是这样的:

require '../init.php';
$user = $_POST['user'];
$pass = $_POST['pass'];
$newhash = createHash();

//LOGIN STUFF
if(strtolower($user) == strtolower($userA['user']))
{
    if($pass == $userA['pass'])
    {
        $expiration = ( time() + ( 24 * 60 * 60 * 365) );
        setcookie('session', $newhash, $expiration, '/');
        $userAdd = MYSQL_::Bits("INSERT INTO users_sessions (hash,userid) VALUES ('$newhash','$userAID')");
        //LOGIN STUFF
    }
    else
    {
        $datos = array('response' => 'fail','reason' => 'pass');
    }
}
else
{
    $datos = array('response' => 'fail','reason' => 'user');
}
header('Content-Type: application/json');
echo json_encode($datos, JSON_FORCE_OBJECT);  

这段代码在localhost上完美运行,但是当我把它放在我的主要主机中时却没有。我一直在阅读stackoverflow上的所有这些相关帖子,没有人有解决方案,它说在cookie之前不可能没有任何东西,但它不可能在它之前没有任何设置cookie。我希望有人得到答案:-(

php json ajax cookies
1个回答
1
投票

您在init.php或init包含的任何文件中都有输出。 输出可以是直接的,就像回声一样。 或者PHP标记之前的空格,或者我认为甚至是PHP创建的错误/通知。 正如我在评论中写到的那样,找出你的输出在哪里,我们无法帮助你。

您可以如上所述在您的代码中移动然后setcookie,看看它的工作原理和不起作用的地方。 当它停止工作时,您找到了创建输出的行。

© www.soinside.com 2019 - 2024. All rights reserved.