#php #ajax #cookies
#php #ajax #файлы cookie
Вопрос:
Я хочу отправить что-то на сервер с помощью GET
метода ajax, а также используя cookies, поэтому я отправляю свое значение в ajax, мне нужно это значение для обновления текущего значения cookie. В файле ajax я не могу получить $_COOKIE['cookie_name']
, когда я повторяю это, результат будет таким -> [] !
function card(action,value) {
if (value == "") {
document.getElementById('errmsgs').innerHTML = "";
return;
} else {
if (window.XMLHttpRequest) {
xmlhttp = new XMLHttpRequest();
} else {
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4 amp;amp; xmlhttp.status == 200) {
document.getElementById('errmsgs').innerHTML = xmlhttp.responseText;
}
};
xmlhttp.open("GET","inc/pricing/pricing.php?act=" action "amp;val=" value,true);
xmlhttp.send();
}
}
И страница с ценами:
<?php
require_once '../../connection.php';
require_once '../../func.php';
$what_is_action = $_REQUEST['act'];
$myCook = $_REQUEST['val'];
}
echo $full_cookie_value = $_COOKIE['mycookiename']; ----> output will be--> [] ---->but it must be something like this ---> {"wwde34":"1","effy33":"1","ssdfff":"1"}
if($what_is_action == 'delete'){
//delete_cook($myCook);
}
?>
Решено.
Проблема заключалась в том, что когда я пытался создать cookie, его не было в root, поэтому в других папках он не может быть доступен! поэтому я добавил ‘/’ в последний параметр setcookie
например: setcookie('a','b',time() 36666,'/')
это создаст cookie в корневом каталоге, и он может быть доступен в других папках!
Ответ №1:
Был ли создан ваш cookie-файл?
Убедитесь, что файл cookie установлен! Пример:
Там, где вы видите кнопку I, вам нужно будет нажать ее и найти файл cookie и капсулы, проверьте, можете ли вы найти там свой файл cookie! Это должно быть сделано с вашего веб-сайта.
Получение ошибки
try
{
echo $_COOKIE['name']['bills'];
}
catch (Throwable $t) // PHP 7
{
echo '<b>COOKIE is not made</b>';
}
catch (Exception $e) // PHP 5
{
echo '<b>COOKIE is not made</b>';
}
Пожалуйста, взгляните на: Получение файлов cookie с помощью javascript
Комментарии:
1. Кнопка I находится в левой части панели ссылок в Google Chrome
2. да, это было сделано на другой странице, и я записываю значение текущего файла cookie здесь, {«wwde34»: «1», «effy33»: «1», «ssdfff»: «1»} .
3. Я могу восстановить значение на всех своих страницах , но здесь, на странице ajax php , это не истинное значение !! он показывает мне всего две скобки ! Я удивляюсь этому 😀
4. Пожалуйста, попробуйте это с помощью javascript. Взгляните на: w3schools.com/js/js_cookies.asp
5. Есть ли какой-либо код, который, возможно, манипулировал вашим кодом?
Ответ №2:
Вы знаете, что, если это фактический код из вашего файла, вы не присваиваете переменную после echo, верно?
echo full_cookie_value
должно быть echo $full_cookie_value
, или если вы пытались повторить ‘full_cookie_value’ в качестве «метки», echo 'full_cookie_value '.$_COOKIE['mycookiename']
Комментарии:
1. все в порядке, это ошибка ввода, которая взята здесь, это всего лишь пример кода, я просто повторяю значение $ _COOKIE [‘something’], и это дало мне неправильное значение.