我正在尝试设置一个cookie,因为我收到了错误,所以错了。
警告:setcookie()期望参数3为long,第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>
答案 0 :(得分:6)
您将值time()+86400
作为字符串传递。这是因为你用引号括起来了。
可能你想做的事情:
$cookie_expire = time()+86400;
这将导致将值评估为数字而不是字符串。
答案 1 :(得分:2)
上面给出的两个提示都是正确的;你实际上是试图通过这种方式将字符串传递给setcookie函数。
放弃“s”,你应该做得很好。
顺便说一句,如果你再次遇到类似的情况,请尝试使用var_dump PHP函数(...或者调试器),它可以告诉你变量包含什么(数据和类型) 。然后你可以发现确切的问题是什么,你可以回到它的来源,以便快速修复它...
答案 2 :(得分:1)
$cookie_expire = time()+86400;
请参阅有关变量类型的PHP手册: