Cookie不会设置。 (仅限本地主机)

时间:2016-01-06 19:37:11

标签: php cookies dns localhost


我现在和这个饼干打架了一段时间,希望你们中的一个可以提供帮助:

setcookie("example", "value", time()+3600, "/", ".website-name.com" , false,  false);

我错过了什么?这行在set_cookie.php中,包含在所有页面(如index.php)中,包含include_once(" set_cookie.php");.当你访问www.website-name / set_cookie.php时,它工作正常,但当你将它包含在index.php或其他页面中时,它不会工作。它包含在页面的最开头,我不认为这是问题所在,因为它与localhost一起工作。我检查了cookie是否已设置或使用chrome工具以及echo()的值。我认为,这行代码存在问题。我不知道它可能是什么。请帮忙:D

提前致谢!

2 个答案:

答案 0 :(得分:0)

找到答案。以防有人遇到同样的问题: one.com(我的网站空间服务)就是问题所在。他们在你网站的最开头放置了一些代码,这就是我无法放置cookie的原因。我不得不将cookie放在另一个.php文件中,我开始使用ajax。

jquery:

$('.cookie_ok').click(function(){
        $('.cookie').hide(200);
        $.ajax({
                type: "POST",
                url: "tip.php",
                data:{wert: "ja"},
                datatype: "html",
                success: function(result){
                    
                }
            })       
    });

tip.php:

<?php
    
    if (isset($_COOKIE['hinweis'])) {
        $hinweis = "nein";    
    } else {
        $hinweis = "ja";   
        setcookie("hinweis", "ja", time()+3600*24*50, "/", false,  false);
    }     
?>

答案 1 :(得分:0)

你提到的问题经常发生在cookies.php文件被包含在php页面中之后它们做了一些输出(比如html标签和标题的echo),但是因为setcookie()通过发送标题信息来工作,它不能设置,因为在任何页面输出后都无法发送标题。

编辑:

很高兴您发现托管添加了一些信息。很好的解决方案与ajax。