На кнопку повесил функцию logout() на onclick. При клике должна удаляться кука и обновляться страница. Страница обьновляется, но кука не удаляется. Как это починить? Код (Javascript): <!DOCTYPE html> <head> <meta charset="UTF-8"> <title></title> <script type="text/javascript"> function deleteCookie(name) { var date = new Date(); date.setTime(date.getTime() - 1); document.cookie = name += "=; expires=" + date.toGMTString(); } function logout() { deleteCookie("Auth"); location.reload(); } </script> <link rel="stylesheet" type="text/css" href="/mysql.ua/css/style.css"> <link rel="shortcut icon" href="/mysql.ua/img/favicon.ico"> </head> <body> <div class="autorize"> <div> <?php if (empty ($_COOKIE['Auth'])) { echo '<span>Вы не авторизованы на сайте</span>'; } else { echo '<table class="auth"><tbody><tr><td>Вы авторизованы на сайте как: <strong>'.$row["login"].'</strong></td><td><input type="submit" value="Выход" class="sh" onclick="logout()"></td></tr></tbody></table>'; } ?> </div> </div> В данном случае на лучшее решение я не претендую. Мне просто нужен простейший рабочий вариант.
Попробуй,должно заработать Код (Javascript): function deleteCookie(name) { document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;'; } function logout() { deleteCookie("Auth"); location.reload(); }
Код (Javascript): document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;'; Этот вариант аналогично предыдущему: кука остается. Нет, установлен маркер "Host only"
Проблема в том, что если я добавляю php-функцию в код индексной страницы, то при ее вызове получаю ошибку: Uncaught ReferenceError: logout is not defined И это понятно, ведь на стороне клиента уже нет никакого php. А клик по кнопке делает пользователь. Получается нужно отправлять запрос на сервер и оттуда удалять куку. Но тогда мне как-то нужно вернуться на текущую страницу (или как-то остаться на ней). У меня получалось отправить запрос, обработать его и сгенерировать новую страницу с результатами. А вот как вернуться на исходную страницу и, например, удалить кнопку логаута после того как кука будет удалена? Это уже вероятно ajax? Попроще никак нельзя?
1) сессионные куки нельзя редактировать javascript 2) делай через ajax. Нет ничего проще. Просто когда вернется ответ делаешь рефреш javascript'ом