Loading...
Как правильно - 86400*31 или просто 0?

if (isset($_COOKIE['uslog']) and isset($_COOKIE['uspass'])) {
$uslog = $_COOKIE['uslog'];
$uspass = $_COOKIE['uspass'];
$dbs = mysql_query("SELECT * FROM `users` WHERE `login` = '".$uslog."' and `pass` = '".$uspass."' LIMIT 1");
$user = mysql_fetch_assoc($dbs);
///////////////////////////////////////////////////////////////////
#1
if (isset($user['id'])) {
if ($user['login'] != $uslog or $user['pass'] != $uspass) {
setcookie('uslog', '', time() - 86400*31);
setcookie('uspass', '', time() - 86400*31);
Или
setcookie('uslog', '', 0);
setcookie('uspass', '', 0);
}
}

________
посл. ред. 28.03.2017 в 13:23; всего 2 раз(а); by SNEG
правильнее дата которая идет в минус, тогда куки удаляться с браузера.
http://php.net/manual/ru/function.setcookie.php
setcookie('uslog', '');
setcookie('uspass', '');
Вилы_Выкидные (28.03.2017 в 13:42)
http://php.net/manual/ru/function.setcookie.php

Правильно я понял если в login.php стоит
setcookie('uslog', $login, time() + 60*60*24*365, '/');
setcookie('uspass', $pass, time() + 60*60*24*365, '/');

Чтобы стиреть COOKIE надо выставить?
if (isset($user['id'])) {

if ($user['login'] != $uslog or $user['pass'] != $uspass) {
setcookie('uslog', '', time() - 60*60*24*365);
setcookie('uspass', '', time() - 60*60*24*365);
________
посл. ред. 28.03.2017 в 13:59; всего 2 раз(а); by SNEG
можно и так:
if (isset($user['id'])) {

if ($user['login'] != $uslog or $user['pass'] != $uspass) {
setcookie('uslog', '', time() -300);
setcookie('uspass', '', time() -300);

браузер посчитает куки устаревшими и удалит их.
SayrusCraft (28.03.2017 в 14:10)
можно и так:
if (isset($user['id'])) {

if ($user['login'] != $uslog or $user['pass'] != $uspass) {
setcookie('uslog', '', time() -300);
setcookie('uspass', '', time() -300);

браузер посчитает куки устаревшими и удалит их.

Если значение более 300 браузер будет считать куки устаревшие уже ?
Вилы_Выкидные , кстати, на счет регулярных выражений, после того как вы поставили восклицательный знак перед preg_match и оно теперь работает верно? по логике, после ваших действий любое не совпадение с шаблоном preg_match будет верным.

Прошу прощения за оффтоп.
SNEG , значение не обязательно за 300 должно быть, любое число после знака минус будет считаться как прошедшее время. То есть можно и так: -1, -60, -500.
________
посл. ред. 28.03.2017 в 14:21; всего 1 раз(а); by SayrusCraft
можно time() - 3600
Онлайн: 2
Время:
Gen. 0.1066
(c) Bym.Guru 2010-2026