我可以在PHP 5中使用动态cookie名称吗?

时间:2015-02-09 18:05:41

标签: php session cookies

对于我们的网站,访问者必须填写表格才能访问。这将设置一个cookie,以便他们不必为同一访问多次填写表单。但是,如果他们试图访问网站的其他部分,他们就会失去以前的访问权限。我们不会在cookie中存储任何登录信息。

这些是我们目前使用和运作的方式:

setcookie('oursite_Bids', $_SESSION['bidnumber'], time()+2764800, "/", ".oursite.com", 0);  
setcookie('Bid_Access_Form', $_SESSION['docs'], time()+2764800, "/", ".oursite.com", 0);  

这是我们尝试使cookie动态,这些都不起作用:

setcookie($bidnumber, $_SESSION['docs'], time()+2764800, "/", ".oursite.com", 0);      
setcookie($_SESSION['bidnumber'], $_SESSION['docs'], time()+2764800, "/", ".oursite.com", 0);  

有没有办法正确地执行此操作,或者我是否被强制按照其设置名称调用cookie,就像我目前所做的那样?

2 个答案:

答案 0 :(得分:0)

你正在为会议重新发明轮子。不要那样做。

使用常规会话:

session_start();
$_SESSION['oursite_Bids'] = 'whatever you want';

http://php.net/manual/en/function.session-start.php

答案 1 :(得分:0)

正确答案是:

$bidnumber = $_SESSION['bidnumber'];  
$cookiename = str_replace(' ', '_', $bidnumber);  
setcookie($cookiename, $_SESSION['docs'], time()+2764800, "/", ".oursite.com", 0);   

我上面使用的那个没有用,因为$bidnumber的值包含空格字符。

感谢大家的意见。