SA-MP Forums Archive
Диалог авторизации - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Русский/Russian (https://sampforum.blast.hk/forumdisplay.php?fid=32)
+---- Thread: Диалог авторизации (/showthread.php?tid=421218)



Диалог авторизации - 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 это "учитывает".
Не совсем, например:
pawn Код:
strcmp("", "test", true)
возвратит не то, что ожидается, то есть 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) == || 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) == || 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 и все.