Авторизация (здесь такого не видел)

SpeculAt0r

Guest
Авторизация (здесь такого не видел)

На форуме уже много раз обсуждалась эта тема, но именно такого решения я не видел. Мне интересно, правильно ли я делаю, может нужно что-то добавить.

Извиняюсь, до конца правила не дочитал
PHP:
session_name('xxx');
session_start();

if(isset($_REQUEST['quit'])):
	session_destroy();
	$auth_yes=0;
	@$login=$_SESSION['login'];
	setcookie('auth_yes',$auth_yes,time()-60*60*24*365);
	setcookie('login',$login,time()-60*60*24*365);
	echo "<meta http-equiv=\"refresh\" content=0>";
endif;
 
if(isset($_REQUEST['auth'])):
	...
	$auth_yes=1;
	$login=$auth_login;
	session_register('auth_yes','login');
	setcookie('auth_yes',$auth_yes,time()+60*60*24*365);
	setcookie('login',$login,time()+60*60*24*365);
	echo "Вы вошли как ".$login;
	echo "<form action='auth.php' method='post'><input type='submit' value='Выход' name='quit'></form>";
	endif;
	
endif;

...
endif;
Немного урезал, меня интересует правильно ли работает выход. И ещё у меня выводится сообщение об ошибке в строке 0, когда авторизация проходит успешно и выводится только "Вы вошли как", после нажатия кнопки обновить появляется имя пользователя и ошибка исчезает :confused:. Конечно это только для проверки работы, но всё равно я подумал, что что-то не так написал.
 

SpeculAt0r

Guest
Извиняюсь, код немного урезал. Оставил только те участки, где возникли вопросы.
 

Фанат

oncle terrible
Команда форума
нет, неправильно.
непонятно, зачем писать @$login=$_SESSION['login']; а потом подставлять это значение в удаляемую куку.
непонятно, зачем тебе вообще какие-то куки при наличии сессии.

как правильно работать сессиями, написано тут: PHP FAQ: Сессии. Подробное описание работы и объяснение механизма.
данные из формы надо принимать через $_POST

переписывай, а потом снова приноси - посмотрим
 

SpeculAt0r

Guest
Автор оригинала: Фанат
данные из формы надо принимать через $_POST
А какая разница, через $_POST или $_REQUEST данные то и там и там те же самые.
 
Сверху