Получить значение cookie в PHP?

Я создаю файл cookie в jQuery. Я могу проверить его в Firefox. Но когда я пытаюсь распечатать cookie или назначить другое значение, я не могу его получить. Я также использую сеансы. И я начал сеанс в PHP. Мой код для печати или назначения значения cookie показан ниже

echo $_COOKIE['a']; 

для присвоения значения

 $b=$_COOKIE['a']; 

Файл cookie, созданный с помощью jQuery,

 $.cookie("a",$(this).val()); 

Где я совершил ошибку? Как я могу получить значение cookie?

Можно установить cookie на PHP полностью без jQuery.

..Однако…

Кажется, вы используете jQuery таким образом.

Что может быть причиной проблемы, это несколько вещей:

a) $(this).val() возможно, может возвращать NULL.

b) Вы не устанавливаете путь и срок действия файла cookie. Если у вас есть подкаталоги, обычно полезно установить мастер-файл cookie, который является корневым путем '/' .

Чтобы прочитать ваш файл cookie с помощью PHP, попробуйте это …

  $cookies = explode(';', $_SERVER['HTTP_COOKIE']); 

… и найдите массив для вашего "a" cookie.

Здесь вы найдете дополнительные документы по настройке и чтению файлов cookie с использованием всего PHP .

Вы должны вызвать эту функцию, прежде чем какой-либо другой код будет эхом на страницу. (перед заголовками)

Чтобы установить значение cookie в PHP, используйте функцию setcookie :

 setcookie("a", "foobar"); 

Однако для этого требуется, чтобы вы запускали код перед выводом на клиентский сервер (и отправляете заголовки HTTP. Таким образом, вы не можете сделать что-то вроде этого:

 <div> <p>Here's my cookie!</p> <?php setcookie("foo", "bar"); ?> </div> 

Вам нужно будет вызвать setcookie прежде чем у вас есть какой-либо из ваших HTML.

Кроме того, если вы установите значение cookie на клиенте, вам нужно сделать запрос от этого клиента, чтобы получить значение cookie. Если вы просто используете произвольный код на сервере, клиент не отправляет его в файл cookie.

Наконец, страница, обрабатываемая сервером, и страница, на которой работает JS, должны находиться в одном домене. Если это не так, браузер не отправит соответствующий файл cookie.

Надеюсь это поможет!

Выглядит хорошо для меня. Чтобы отладить проблему, попробуйте:

 var_dump($_COOKIE); 

а также:

Список файлов cookie в Javascript