【发布时间】:2020-03-16 23:45:26
【问题描述】:
PHP 7.3 中 setcookie() 的正确语法是什么?我通常像这样使用 setcookie():
setcookie("genone", "genoneinfo", "$cookie_expiration_time","/","",1,1);
这行得通,但是如何添加相同站点选项?我试过这样,但它失败并出现 php 错误:
setcookie("genone", "genoneinfo", "$cookie_expiration_time","/","",1,1,['samesite'=>'Lax']);
错误:PHP 警告:setcookie() 最多需要 7 个参数,在第 73 行给出 zzz.com/index.php 的 8 个参数,引用者:https://zzz.com/
谢谢, 托德
【问题讨论】:
-
我是一个初级程序员,不懂语法...看起来我需要使用一大堆括号...此外,他们声明了示例中的所有变量类型……这是必需的吗?我从来没有在 php 中声明过变量类型...
-
文档中的括号表示可选参数。存在类型,因此您知道该参数接受哪种输入。类型声明仅用于函数定义,而不是在您调用它们时。您只需像在问题的代码示例中所做的那样传递您需要的内容,您只需使用替代语法。
-
喜欢这个? setcookie ("genone" [, "genoneinfo" [, "$cookie_expiration_time" [, "/" [, "" [, 1 [, 1 ]]]]]] ) : bool 然后我必须添加同一个站点的东西.. . 像这样?: setcookie ("genone" [, "genoneinfo" [, "$cookie_expiration_time" [, "/" [, "" [, 1 [, 1 [, "SameSite=Lax" ]]]]]]] ) : 布尔
-
没有。正如我所说,文档中的括号仅表示“可选参数”,如“如果您可以使用默认值,您可以跳过此参数”。