2010-04-20 86 views
2

我想设置一个cookie,因为出现错误,whas与此错误。在php中设置一个cookie

警告:setcookie()函数预计参数3要长,在给定的/home/admin/domains/domain.com.au/public_html/setcookie.php上行字符串6

<?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> 

回答

6

您传递值time()+86400为字符串。这是因为你已经用引号括起来了。

也许你想要做什么:

$cookie_expire = time()+86400; 

这将导致价值为数字而不是字符串进行评估。

+0

工作!,当我检查我的cokies没有一个被设置?任何想法,为什么这可能。Cookie在你的浏览器enbled。 – Jacksta 2010-04-20 02:22:49

+1

你必须调用的cookies行动为它如此。一个用户的名字,你需要写:echo“$ _COOKIE ['first_nam E']“;. – ggfan 2010-04-20 03:13:01

+0

您可能希望将其作为另一个问题发布。 – 2010-04-20 03:43:30

2

上面给出的两个提示都是正确的;你实际上是想通过这种方式将一个字符串传递给setcookie函数。

刚落的“S,你应该做的罚款。

顺便说一句,如果碰巧你又在类似情况下得到的,尽量用var_dump PHP函数(...或者说一个调试器它可以告诉你一个变量包含什么(数据和类型),然后你可以发现确切的问题是什么,你可以回溯到它的来源,以便快速修复它...