Почему php не удаляет cookie, установленный javascript?

На моем сайте есть поле для комментариев.

Проводка комментариев обрабатывается javascript, js-сообщениями данных в php-скрипт, а php делает материал, связанный с db, и показывает подтверждение только в том случае, если пользователь зарегистрирован, если пользователь не зарегистрирован, тогда php дает not_loggedin ответ после его получения. Js показывает, что bootstrap pop over box с ссылку на страницу входа.

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

document.cookie = id + "=" + input_text + "; "; 

и после входа в комментарий textarea заполняется чтением файла cookie с сохраненным текстом комментария.

все до этого работает идеально, но после вставки комментария в php я пытаюсь удалить cookie, как это.,

 setcookie($id, "", time()-3600); print_r($_COOKIE); exit('<p class="bg-info">Thank you! Your comment has been posted.</p>'); 

но его по-прежнему не удаляет cookie, когда я перезагружаю страницу, в поле textarea комментариев я заполнен ранее зарегистрированным комментарием, который снова читается из файла cookie.

как я могу это решить?

Я даже попытался отобразить cookie в php, который хранится js, lke this

 //insert comment in db //setcookie($id, "", time()-3600); print_r($_COOKIE); exit('<p class="bg-info">Thank you! Your comment has been posted.</p>'); 

но он не показывает cookie, который установлен js, он показывает cookie PHPSESSID после отправки комментария.

 Array ( [PHPSESSID] => c5rc6c8ggg24edg1v2o8hebb20 ) 

Я не пытаюсь удалить cookie PHPSESSID. Я показываю это на странице с помощью js. поскольку post_comment.php – это другой файл в другом каталоге на том же сервере.

что я делаю неправильно?

Простыми словами, js устанавливает cookie, и php должен удалить cookie.

———-

обновление 1:

Я попытался установить путь, установив cookie в js, как это

 document.cookie = id + "=" + input_text + "; path=/"; 

и после публикации 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>'); 

но cookie все еще там.


обновление 2: это очень странно.

если я пытаюсь установить cookie с тем же именем в php, создается еще один файл cookie. мой php-код.

 setcookie($id, "sdf", time()+36000); printr($_COOKIE); exit('<p class="bg-info">Thank you! Your comment has been posted.</p>'); 

теперь, когда я проверяю менеджер куки-файлов broswers, я вижу 2 файла cookie с тем же именем.

но оба имеют различный контент, тот, который был установлен usng javascript, имеет комментарий, введенный пользователем, а другой cookie, который мы устанавливаем с использованием php выше, имеет содержимое «sdf».

Я не знаю, как это возможно, чтобы иметь cookie2 с одинаковыми именами. ,

любые подсказки?

Вы должны убедиться, что все параметры (кроме имени и времени в зависимости от файла cookie) одинаковы при настройке Cookie в Javascript и при удалении Cookie в PHP

Параметры, т. Е. Имя, путь (значение и время истечения могут быть разными).

например.

Устанавливая cookie в javascript, если вы используете его так

 document.cookie = id + "=" + input_text + " ; path=/"; 

вы устанавливаете путь к «/»

то при удалении файла cookie в php вам следует установить его так.

 //remove cookie. setcookie($id, "", time()-36000 , "/");