ID: 13116
User updated by: [EMAIL PROTECTED]
Reported By: [EMAIL PROTECTED]
Status: Open
Bug Type: HTTP related
Operating System: FreeBSD 4.3
PHP Version: 4.0.6
New Comment:

Another user experience the same problem like mine

http://www.php.net/bugs.php?id=11492&edit=1

It looks like they are all using FreeBSD

Previous Comments:
------------------------------------------------------------------------

[2001-09-03 16:33:11] [EMAIL PROTECTED]

I pretty much get the same error as this link

http://www.php.net/bugs.php?id=11478&edit=1

Over a couple hundreds of users, all of them works fine with IE 5.0+  However, some of 
the user can not login due to the cookie is not set.

Whenever I do

setcookie("username",$user,time()+3600,"/",".domain.com");

Some of the users using IE would not get the cookie.

But when i just change it to 

setcookie("username",$user,"","/",".domain.com");

It works.  But not setting expire time will not write the cookie to harddisk, it just 
stored into memory, which is not what I want.

So, I tried to use the header function and see if that helps.

$time = mktime()+ $config[cookieTTL]; 
$date = gmdate("l, d-M-Y H:i:s", ($time)); 
header("Set-Cookie: $cookiename=$tmpstring; expires=$date GMT; path=/;");

IE still do not pick up the cookie.


Here is a little function I use to store cookie

function putCookie($config,$cookiename, $varname, $data, $send="") { 

// function to store cookie, use serialize() to bypass the limit of using 20 cookies 
per domain. 
// And make it easier to add new cookie later.

        //keep this array always static so that when we get out of this function, it 
still keep the variable.
        static $tmpArray; 
        
        $tmpArray[$varname] = $data;
                
        if ($send != "") {
                $tmpstring = serialize($tmpArray); 
                $tmpstring = base64_encode($tmpstring);
        
                $time = mktime()+ $config[cookieTTL]; 
                $date = gmdate("l, d-M-Y H:i:s", ($time)); 
                                
                setCookie($cookiename, $tmpstring, "", $config[cookie_path], 
$config[CookieURL]); // now we clean the static array after we send the cookie     
                
                unset($tmpstring); 
                $tmpArray = "";
                unset($tmpArray);
        }
}       

 

------------------------------------------------------------------------



Edit this bug report at http://bugs.php.net/?id=13116&edit=1


-- 
PHP Development Mailing List <http://www.php.net/>
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
To contact the list administrators, e-mail: [EMAIL PROTECTED]

Reply via email to