Я пытаюсь создать платформу с системой входа, и я сохраняю имя пользователя и пароль в файлах cookie, чтобы пользователь оставался включенным в систему, даже если он закрывает браузер и затем снова вводит его. Мне удалось сохранить файлы cookie, но я не знаю, как сделать кнопку выхода из системы. Вот код:
function logout() { $('body').append("<?php setcookie('username', null); setcookie('password', null); unset $_COOKIE['username']; unset $_COOKIE['password']; ?>"); location.assign("index.php"); }
Вы пытаетесь включить PHP-код в JavaScript, который не будет работать так. Вы можете либо удалить cookie с помощью jQuery, как предлагается здесь :
function logout() { $.cookie("username", null, { path: '/' }); location.assign("index.php"); }
или путем вызова файла PHP со следующим кодом PHP:
setcookie("username", "", time() - 3600, '/');
Пытаться:
setcookie('username', null, -1, '/'); setcookie('password', null, -1, '/');
Вы пытаетесь выполнить код сервера внутри кода клиента. Это не сработает. Это буквально добавит то, что находится внутри метода append.
Вам нужно написать файл logout.php, и внутри него есть логика на стороне сервера.
Такие как
<?php session_destroy(); setcookie("cookie", "value", 1); header("Location: index.php"); ?>
Установите cookie на 1 секунду после эпохи вместо 0, чтобы файл cookie истекал сразу, а не в конце сеанса браузера.
Также обратите внимание, что вы не должны хранить пароль в файле cookie. Скорее сохраните ключ сеанса в cookie с помощью session_start();