На моем сайте есть поле для комментариев.Почему php не удаляет cookie, установленный javascript?
Публикация комментария обрабатывается JavaScript, JS сообщений данных в PHP скрипт и PHP делает связанные дб вещи и показывает подтверждение, только если пользователь вошел в систему, если пользователь разве вошел в то PHP дает not_loggedin ответ после его Js показывает начальной загрузки pop over box со ссылкой на страницу входа.
Так что если пользователь не вошел в систему, то javascript хранит введенный комментарий в cookie, чтобы после входа в систему пользователь не перепечатывал комментарий. Как это
document.cookie = id + "=" + input_text + "; ";
и после входа в комментарий текстовое поле заполняется путем чтения куки, который имеет сохраненный текст комментария ..
все до этого работает идеально, но после вставки комментария в PHP я пытаясь удалить кук, как это.,
setcookie($id, "", time()-3600);
print_r($_COOKIE);
exit('<p class="bg-info">Thank you! Your comment has been posted.</p>');
, но его до сих пор не извлекая печенье, когда я перезагрузить страницу, окно комментария я текстовое населенный с ранее enetered комментарием, который снова считанный из печенья.,
как я могу это решить?
я даже пытался отображать печенье в PHP, который хранится на JS, LKE этой
//insert comment in db
//setcookie($id, "", time()-3600);
print_r($_COOKIE);
exit('<p class="bg-info">Thank you! Your comment has been posted.</p>');
но он не показывает печенье, которое устанавливается с помощью JS, он показывает PHPSESSID печенья после отправки комментария.,
Array
(
[PHPSESSID] => c5rc6c8ggg24edg1v2o8hebb20
)
я не пытаюсь удалить PHPSESSID печенье., я хочу показать это на странице с помощью JS. как post_comment.php - это другой файл в другом каталоге на том же сервере.
что я делаю неправильно?
Простыми словами, js устанавливает cookie и php должен удалить cookie.
----------
обновление 1:
я попытался установить путь при установке куки в JS, как этот
document.cookie = id + "=" + input_text + "; path=/";
и после posting cookie., теперь я получаю это.,
Array
(
[PHPSESSID] => c5rc6c8ggg24edg1v2o8hebb20
[4778] => this is comment
)
мой PHP-код, как это.,
//insert comment is db
setcookie($id, "", time()-3600);
printr($_COOKIE);
exit('<p class="bg-info">Thank you! Your comment has been posted.</p>');
но печенье все еще там.
обновление 2:. это очень странно,
если я пытаюсь установить куки с тем же именем в PHP, еще один печенье будет создаваться. мой код php.
setcookie($id, "sdf", time()+36000);
printr($_COOKIE);
exit('<p class="bg-info">Thank you! Your comment has been posted.</p>');
теперь, когда я проверить менеджер broswers печенья, я вижу 2 печенья с тем же названием.,
, но оба имеют различное содержание, тот, который был установлен usng Javascript иметь комментарий enetered пользователем и другой cookie, который мы устанавливаем с использованием php выше, имеет содержимое «sdf».
Я не знаю, как это возможно, чтобы иметь cookies с одинаковыми именами. ,
любые ключи?
Вы все еще видите файл cookie на стороне js после сохранения комментария? – andrex
@andrex Я не понимаю, что вы имеете в виду, поле комментариев, в котором я записал значение cookie после перезагрузки страницы, и даже cookie отправил ben. – AMB
см. Это http://stackoverflow.com/questions/10593013/delete-cookie-by-name – gabereal