我可以在PHP5中使用动态cookie名称吗

我可以在PHP5中使用动态cookie名称吗,php,session,cookies,Php,Session,Cookies,对于我们的网站,访问者必须填写表格才能访问。这将设置一个cookie,以便他们不必为相同的访问多次填写表单。然而,如果他们试图访问网站的另一部分,他们就会失去以前的访问权限。我们没有在cookie中存储任何登录信息 这些是我们目前使用和工作的内容: setcookie('oursite_Bids', $_SESSION['bidnumber'], time()+2764800, "/", ".oursite.com", 0); setcookie('Bid_Access_Form', $_S

对于我们的网站,访问者必须填写表格才能访问。这将设置一个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的设置名称来调用cookie的?

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

使用定期会议:

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

正确答案是:

$bidnumber = $_SESSION['bidnumber'];  
$cookiename = str_replace(' ', '_', $bidnumber);  
setcookie($cookiename, $_SESSION['docs'], time()+2764800, "/", ".oursite.com", 0);   
我上面使用的一个不起作用,因为
$bidnumber
的值包含一个空格字符


谢谢大家的意见。

谢谢您的回复。然而,我不认为我是在“为会议重新发明轮子”,因为我们大量使用会议。但有了cookie,我们可以让他们获得并跟踪多个出价。使他们能够在为每个人设定的时间范围内返回到每个人。每个出价必须单独管理,我们相信,如果cookie名称可以是出价编号,cookie将允许我们这样做。不管是对是错,只要我们能让它按我们想要的方式工作,这可能非常方便。@DougGammon为什么不在会话数据中跟踪每个出价?远比直接使用cookie简单。您能显示一些$bidnumber值和一些$\u会话['docs']吗?