kobra
kobra

Reputation: 4963

Can't read cookie in php

I am unable to read the cookie using $_COOKIE['mycookie']. I am using PHP-Apache on Linux box. Is there any seeting in php.ini or httpd.conf to activate cookie.

Thanks

Upvotes: 2

Views: 10737

Answers (4)

Pete B.
Pete B.

Reputation: 3286

While I have not found any specific documentation for this, it seems that cookies are only available from the directory, and sub directories, from the file in which the are written.

So if you write a cookie from

/var/www/html/mySystem/action/writeCookie.php

you would not be able to read it from

/var/www/html/mySystem/view/readCookie.php

As a solution I put all my cookie writing files in the top directory, something like:

/var/www/html/mySystem/writeCookie.php

Upvotes: 4

symcbean
symcbean

Reputation: 48357

This pre-supposes that the browser is returning the cookie when you expect. There are tools for both MSIE (iehttpheaders) and Firefox (tamper data, web developer toolbar, and lots more) which let you see the actual HTTP headers sent/received. Alternatively you could use a wiretapping tool like wireshark.

C.

Upvotes: 0

Jason B
Jason B

Reputation: 665

http://php.net/manual/en/ini.core.php

Check your gpc_order setting in php.ini to make sure cookies aren't being overridden.

Upvotes: 0

Jason B
Jason B

Reputation: 665

Did you set the cookie properly?

<?php
$value = 'something from somewhere';

setcookie("TestCookie", $value);
setcookie("TestCookie", $value, time()+3600);  /* expire in 1 hour */
setcookie("TestCookie", $value, time()+3600, "/~rasmus/", ".example.com", 1);
?>   
<?php
// Print an individual cookie
echo $_COOKIE["TestCookie"];
echo $HTTP_COOKIE_VARS["TestCookie"];

// Another way to debug/test is to view all cookies
print_r($_COOKIE);
?>

Upvotes: 7

Related Questions