Все привет, помогите или подскажите как такое реализовать. Есть форма авторизации ,где есть логин и пароль и чекбокс чужой компьютер. Вопрос в том как реализовать чекбокс чужой компьютер на php. Чтобы при использовании чек бокса происходила авторизация и переход на другую страницу, после закрытия браузера все сбрасывалось и требовало заново введите логин и пароль .
Ну тут собственно дело в том,что без чекбокса setcookie() устанавливает куку на долгий период времени,а с чекбоксом expire у setcookie установлен в 0.А значение 0 означает что срок действия куки истечет с окончанием сессии(закрытие браузера) https://secure.php.net/manual/ru/function.setcookie.php
Не знаю , что делаю не так или не понимаю, что-то все сохраняется как есть, при перезапуска браузера. index.php Код (Text): <?php include_once 'date.php'; session_start(); if (isset($_POST['ok'])) { if (trim(strip_tags($_POST['login'])) == LOGIN and trim(strip_tags($_POST['pwd'])) == PASSWORD) { $_SESSION['login'] = $_POST['login']; if (isset($_POST['alien'])){ setcookie('login', 'login', 0); } header("location:admin.php"); } else { echo "Неправильно ввели логин или пароль"; } } ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>Форма Авторизации</title> </head> <body> <table> <form method="post"> <tr> <td>Имя:</td> <td><input type="text" name="login"></td> </tr> <tr> <td>Пароль:</td> <td><input type="password" name="pwd"></td> </tr> <tr> <td> </td> <td><input type="checkbox" name="alien">Чужой компьютер <td> <td> </td> </tr> <tr> <td> </td> <td><input type="submit" name="ok" value="Войти"></td> </tr> </form> </table> </body> </html> admin.php Код (Text): <?php session_start(); if (isset($_GET['quit'])) { session_destroy(); header("location:index.php"); exit; } ?> <!doctype html> <html> <head> <meta charset="utf-8"> <title>Добро пожаловать на сайт!</title> </head> <body> <?php if (isset($_SESSION['login'])) echo "Добро пожаловать на веб-сайт, " . $_SESSION['login'] . '!' . " <a href='index.php?quit=ok'>Выйти</a>"; ?> </body> </html>
А если галочка не стоит, то куки вообще не будут создаваться? PHP: if (isset($_POST['alien'])){ setcookie('login', 'login', 0); } В admin.php где условие, что если переменной в сессии не существует, то должен быть редирект на index.php? PHP: if (empty($_SESSION['login'])) { header("location:index.php"); } И где проверка существования куки?
Спасибо, за мысли и подсказки! Вроде все заработало с таким кодом. Добавил в index.php Код (Text): if (isset($_POST['alien'])){ setcookie('login', 'login', time()+1); }else{ setcookie('login', 'login', time()+360000); } И в admin.php Код (Text): if (empty($_SESSION['login'] and $_COOKIE['login'])) { header("location:index.php"); exit; }