Установить куки на весь домен со страницы внутри папки - PullRequest
3 голосов
/ 08 апреля 2011

Я новичок в печенье и тому подобное.

Мне нужно установить cookie для всего домена со страницы внутри папки, такой как mydomain.com/folder/page.php.Я должен был сделать это раньше, и я сделал это, перенаправив на другую страницу mydomain.com/another.php, которая устанавливает куки.Дело в том, что теперь мне не следует перенаправлять страницу из-за того, что некоторые данные поступают из формы и других вещей, так как я могу это сделать?

setcookie("name", $name, time()+31536000); установит файлы cookie только для страниц внутри folderи я попытался setcookie("name", $name, time()+31536000,'/','mydomain.com');, но это не сработало.

Ответы [ 2 ]

11 голосов
/ 08 апреля 2011

Этот код определенно работает:

setcookie("name", $value, time()+31536000,'/');

Обратите внимание, что mydomain.com отличается от www.mydomain.com или sub.mydomain.com.

Кроме этого, обратите внимание, что значение $value должно быть строкой.

1 голос
/ 08 апреля 2011

@ SPL_Splinter: убедитесь, что вы устанавливаете cookie до любого вывода. Так, например:

<?php
$name = 'Some name';

setcookie("name", $name, time() + 31536000, '/', '.mydomain.com');
if (isset($_COOKIE['name'])) 
{
    echo $_COOKIE['name'];
}
?>

Обновление

С http://php.net/manual/en/function.setcookie.php

Домен, для которого доступен файл cookie. Чтобы сделать файл cookie доступным во всех поддоменах сайта example.com (включая сам сайт example.com), установите для него значение «.example.com». Хотя некоторые браузеры принимают файлы cookie без начального. »RFC 2109 требует, чтобы он был включен. Если для домена задано значение «www.example.com» или «.www.example.com», файл cookie будет доступен только в поддомене www.

...