parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Не могу найти ошибку, но я знаю, что она есть!

nkostya 06.06.2002 11:50

Делал проверку логина и пароля, но почему то возникает ошибка, точенее программа неправильно функцианирует. Пожалуйста помогите разобраться.
Cookie:username имеет значение логина, а Cookie:password — значение пароля
@authenticate[code_]
^if(def "$cookie:username"){
	^if(def "$cookie:password"){

# Здесь все правильно, т.к. пользователь с таким Логином существует и пароль правильный.
		^MAIN:dbconnect{
			$check_password[^string:sql{SELECT password FROM user WHERE username='$cookie:username'}]
		}
# Сравнение правильное (точно)
		^if("$check_password" eq "$cookie:password"){
			^MAIN:dbconnect{
				$end_date[^string:sql{SELECT end_date FROM user WHERE username='$cookie:username'}]
			}
# Проверяется не истек ли срок действия данного пользователя
			^if("$end_date" eq "unlimit"){ 	rem{Эта строка проверяет - ограничено ли время действия пользователя} 

# Если нет, то выполняется код
				$code_

# Если да, то выполняется проверка даты, и если все верно, то вы полнение кода (для сокращения времени я этот код приводить не буду)
			}{
				^check_date[$code_]
			}
		}{

# Если такое случилось, то пользователю выдается Ошибка
			Неверно указан логин или пароль
		}
	}{

# Если не задан Cookie:password
		$response:location[/]
	}
}{
# Если не задан Cookie:username
	$response:location[/]
}
ВОТ так я вызываю из файля с классом, конечно я использую @USE
$authenticate[^check_access::check_authenticate[]]
^authenticate.check_authenticate[Мой код]
Но вся проблема в том, что когда логин и пароль неправильные - код все равно выполняется. И ничего с этим поделать не могу, как не кручу!