#22013 [Opn]: setcookie does not work on Mozilla with localhost as domain

From: Date: Sun, 02 Feb 2003 21:18:12 +0000
Subject: #22013 [Opn]: setcookie does not work on Mozilla with localhost as domain
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-31906@lists.php.net to get a copy of this message
ID: 22013 Updated by: philip@php.net -Summary: setcookie does not work on Mozilla Reported By: frankkim@attbi.com Status: Open Bug Type: HTTP related Operating System: Windows PHP Version: 4.3.0 New Comment: According to the spec: http://wp.netscape.com/newsref/std/cookie_spec.html The domain must have at least two periods. I'm not sure how this applies to localhost but I guess for localhost just don't set it or set as an empty string. Previous Comments: ------------------------------------------------------------------------ [2003-02-02 13:48:21] frankkim@attbi.com $domain is 'localhost' because I am testing on my local machine. I updated the script to not pass the $domain and $expirationTime to the setCookie function and the script now works. I am not sure why 'localhost' would be a problem since I see when I take out $domain and $expirationTime, Mozilla sets the host for the cookie to 'localhost'. Maybe this is a Mozilla bug. ------------------------------------------------------------------------ [2003-02-02 13:38:17] philip@php.net Please confirm that HTTP_HOST exists (i.e. what $domain is) ------------------------------------------------------------------------ [2003-02-02 13:16:18] frankkim@attbi.com By the way, my original test script was kind of stupid. Here is the corrected test script. <?php error_reporting(E_ALL); define('ID', 'id'); define('USERNAME', 'username'); // save the login information into the cookie which will expire in 30 // days $expirationTime = time()+60*60*24*30; $domain = $_SERVER['HTTP_HOST']; $success = true; if (!setCookie(ID, '1', $expirationTime, '/', $domain, 0)) { $success = false; } if (!setCookie(USERNAME, 'frankkim', $expirationTime, '/', $domain, 0)) { $success = false; } if ($success) { print "setCookie's succeeded"; } else { print "setCookie's failed"; } ?> ------------------------------------------------------------------------ [2003-02-02 13:15:13] frankkim@attbi.com I added: error_reporting(E_ALL); to the script and saw no errors reported. This was not surprising since I have this set in php.ini: error_reporting = E_ALL; display all errors, warnings and notices display_errors = On ------------------------------------------------------------------------ [2003-02-02 12:57:55] msopacua@php.net Not enough information was provided for us to be able to handle this bug. Please re-read the instructions at http://bugs.php.net/how-to-report.php If you can provide more information, feel free to add it to this bug and change the status back to "Open". Thank you for your interest in PHP. your script contains errors: $this is not an object. Add: error_reporting(E_ALL); in line 1 to see if there's anything else reported. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at http://bugs.php.net/22013 -- Edit this bug report at http://bugs.php.net/?id=22013&edit=1

« previous php.bugs (#31906) next »