我现在和这个饼干打架了一段时间,希望你们中的一个可以提供帮助:
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
提前致谢!
答案 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。