在php中设置cookie

在php中设置cookie,php,cookies,Php,Cookies,我试图设置一个cookie,这有什么问题,因为我得到了一个错误 警告:setcookie()要求参数3为长字符串,在第6行的/home/admin/domains/domain.com.au/public_html/setcookie.php中给出 <?php $cookie_name = "test_cookie"; $cookie_value = "test_string"; $cookie_expire = "time()+86400"; $cookie_domain = "loca

我试图设置一个cookie,这有什么问题,因为我得到了一个错误

警告:setcookie()要求参数3为长字符串,在第6行的/home/admin/domains/domain.com.au/public_html/setcookie.php中给出

<?php
$cookie_name = "test_cookie";
$cookie_value = "test_string";
$cookie_expire = "time()+86400";
$cookie_domain = "localhost";
setcookie($cookie_name, $cookis_value, $cookie_expire, "/", $cookie_domain, 0);
?>
<HTM>
<HEAD>
</HEAD>
<BODY>
<h1>cookie mmmmmmm</h1>
</BODY>
</HTML>

饼干,嗯

$cookie\u expire=time()+86400

有关变量类型,请参阅PHP手册:


您正在以字符串形式传递值
time()+86400
。这是因为你用引号括起来了

可能是你想做的:

$cookie_expire = time()+86400;

这将导致将值计算为数字而不是字符串。

上面给出的两个提示都是正确的;实际上,您正试图通过这种方式将字符串传递给setcookie函数

只要放下“s”,你会做得很好的


顺便说一下,如果您再次遇到类似情况,请尝试使用var_dump PHP函数(…或调试器),它可以告诉您什么(数据和类型)一个变量包含。然后你可以发现确切的问题是什么,你可以返回到问题的根源,以便快速修复它…

这很有效!当我检查我的cokies时,没有设置一个?知道为什么吗?cookie会在我的浏览器中出现。你必须调用cookie以使其生效。例如:如果你有一个cookie forr如果是用户的名字,您需要写:echo“$\u COOKIE['first\u name']”。您可能希望将此作为另一个问题发布。