Диалог авторизации -
LiMOH - 08.03.2013
Зарегистрировал аккаунт, пароль которого состоит из 6 символов, но при авторизации меня пускает с абсолютно любым паролем, лишь бы он состоял из 6 символов. В чём проблема?
http://pastebin.com/DVTNxzr5
P.S.: На иероглифы не обращайте внимание.
Re: Диалог авторизации -
White_116 - 08.03.2013
if(strlen(inputtext) != strlen(password) && strcmp(inputtext, password, true))
if(strcmp(inputtext, password, false))
Re: Диалог авторизации -
LiMOH - 08.03.2013
Изменить
true на
false? Сделал, ничего не изменилось.
Re: Диалог авторизации -
LiMOH - 08.03.2013
Удалил сообщение.
Re: Диалог авторизации -
White_116 - 08.03.2013
Зачем вам сверка длины, если по сути strcmp это "учитывает".
Re: Диалог авторизации -
LiMOH - 08.03.2013
Quote:
Originally Posted by White_116
Зачем вам сверка длины, если по сути strcmp это "учитывает".
|
Я не понимаю Вас, можете подробнее объяснить, если не сложно?
Re: Диалог авторизации -
Alexander_Petrov - 08.03.2013
pawn Код:
if(strlen(inputtext) != strlen(password) || strcmp(inputtext, password, true))
Re: Диалог авторизации -
LiMOH - 08.03.2013
Quote:
Originally Posted by Alexander_Petrov
pawn Код:
if(strlen(inputtext) != strlen(password) || strcmp(inputtext, password, true))
|
Огромное спасибо
Re: Диалог авторизации -
ZiGGi - 08.03.2013
Quote:
Originally Posted by White_116
Зачем вам сверка длины, если по сути strcmp это "учитывает".
|
Не совсем, например:
возвратит не то, что ожидается, то есть 0.
Тут подробно на английском:
https://sampforum.blast.hk/showthread.php?tid=69444
Самое быстрое решение проблемы от ******:
http://forum.sa-mp.com/showpost.php?...82&postcount=9
Re: Диалог авторизации -
-Stranger- - 11.03.2013
Конечно тупо, но я сделал так у себя
PHP код:
stock CompareStr(string1[], string2[], bool:ignorecase = false)
{
if(strlen(string1) == 0 || strlen(string2) == 0) return 0;
if(strcmp(string1,string2,ignorecase) != 0) return 0;
return 1;
}
Вернёт 1, если совпадают, в противном случае вернёт 0
Re: Диалог авторизации -
Stepashka - 11.03.2013
Quote:
Originally Posted by -Stranger-
Конечно тупо, но я сделал так у себя
PHP код:
stock CompareStr(string1[], string2[], bool:ignorecase = false)
{
if(strlen(string1) == 0 || strlen(string2) == 0) return 0;
if(strcmp(string1,string2,ignorecase) != 0) return 0;
return 1;
}
Вернёт 1, если совпадают, в противном случае вернёт 0
|
не надо писать
stock там где он не нужен:
pawn Код:
bool:CompareStr(string1[], string2[], bool:ignorecase = false) {
return !(!strlen(string1) || !strlen(string2) || strcmp(string1, string2, ignorecase));
}
Re: Диалог авторизации -
-Stranger- - 11.03.2013
Stepashka, в моём случае это действительно stock, и вернуть нужно было или 1 или 0, но у каждого частные случаи
Re: Диалог авторизации -
Stepashka - 11.03.2013
Quote:
Originally Posted by -Stranger-
Stepashka, в моём случае это действительно stock, и вернуть нужно было или 1 или 0, но у каждого частные случаи
|
в твоем случае разницы не будет.
В чем проблема дописать в конце
... ? 1 : 0 и все.