Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Показано с 1 по 2 из 2
  1. #1
    Аватар для Dima_Tushin
    Пользователь

    Статус
    Оффлайн
    Регистрация
    21.04.2013
    Адрес
    Россия
    Сообщений
    154
    Репутация:
    1 ±

    Баг при вводе пароля ( авторизация )

    Добрый день, помогите мне исправить баг я не знаю как исправить его но у меня уже сил нету с ним мучится может кто случался с такой проблемой
    Суть:

    при регистрации указываю на пример пароль 123456 зарегистрировался все хорошо сохранился аккаунт!

    НО: при авторизации вводишь любой Пароль вообще любой и ты в вошел в аккаунт как так?

    Вот Моя Авторизация:

    PHP код:
        case 1:
            {
                if(
    response)
                {
                    new 
    pass[50];
                    if(!
    strlen(inputtext))
                    {
                        
    format(string,256,"{FFFFFF}______________________________________\n\n  Добро пожаловать на Taurus RolePlay{FFFFFF}\n       Этот аккаунт зарегестрирован\n\nЛогин: %s\nВведите пароль:\n______________________________________"Name(playerid));
                        
    SPD(playerid,1,DIALOG_STYLE_PASSWORD,"Авторизация",string,"Войти","");
                        return 
    true;
                    }
                    for(new 
    strlen(inputtext); != 0; --i)
                    switch(
    inputtext[i])
                    {
                    case 
    'А'..'Я''а'..'я'' 'SPD(playerid,10007,DIALOG_STYLE_MSGBOX,"{00FF00}Ошибка!","Введенный вами пароль содержит русские буквы.\n Смените раскладку клавиатуры!","Повтор","");
                    }
                    
    mysql_format(MYSQL,stringsizeof(string),"SELECT * FROM `akk` WHERE `pName` = '%s' AND `pKey` = '%s'"Name(playerid), pass);
                    
    mysql_query(MYSQLstring);
                    if(!
    strcmp(inputtextpass,true))
                    {
                        
    OnPlayerLogin(playeridinputtext);
                    }
                    else
                    {
                        
    format(string,256,"{FF6347}Внимание!Вы ввели неверный пароль!\n\tУ вас осталось(2) попытки\nПосле вы будете на время забанены");
                        
    SPD(playerid10007DIALOG_STYLE_MSGBOX,"Ошибка!"string"Повтор","Выйти");
                    }
                }
                else
                {
                    
    Kick(playerid);
                }
            } 
    PHP код:
        case 10006:
            {
                if(
    response)
                {
                    if(!
    strlen(inputtext))
                    {
                        
    format(string,256,"{FFFFFF}______________________________________\n\n  Добро пожаловать на Taurus RolePlay{FFFFFF}\n       Этот аккаунт зарегестрирован\n\nЛогин: %s\nВведите пароль:\n______________________________________"Name(playerid));
                        
    SPD(playerid,10006,DIALOG_STYLE_PASSWORD,"Авторизация",string,"Войти","");
                        return 
    true;
                    }
                    new 
    pass[256];
                    for(new 
    strlen(inputtext); != 0; --i)
                    switch(
    inputtext[i])
                    {
                    case 
    'А'..'Я''а'..'я'' 'SPD(playerid,10006,DIALOG_STYLE_MSGBOX,"{00FF00}Ошибка!","Введенный вами пароль содержит русские буквы.\n Смените раскладку клавиатуры!","Повтор","");
                    }
                    
    mysql_format(MYSQL,stringsizeof(string),"SELECT * FROM `akk` WHERE `pName` = '%s' AND `pKey` = '%s'"Name(playerid), pass);
                    
    mysql_query(MYSQLstring);
                    if(!
    strcmp(inputtextpasstrue))
                    {
                        
    OnPlayerLogin(playeridinputtext);
                    }
                    else
                    {
                        
    SPD(playerid,69,DIALOG_STYLE_MSGBOX,"Пароль не верный!","{FF6347}Вы были кикнуты с сервера\nПричина: 'Не верный пароль'\nВведите '/q', чтобы выйти","Ок","");
                        
    Kick(playerid);
                    }
                }
            } 
    PHP код:
        case 10007:
            {
                if(
    response)
                {
                    if(!
    strlen(inputtext))
                    {
                        
    format(string,256,"{FFFFFF}______________________________________\n\n  Добро пожаловать на Taurus RolePlay{FFFFFF}\n       Этот аккаунт зарегестрирован\n\nЛогин: %s\nВведите пароль:\n______________________________________"Name(playerid));
                        
    SPD(playerid,10007,DIALOG_STYLE_PASSWORD,"Авторизация",string,"Войти","");
                        return 
    true;
                    }
                    new 
    pass[256];
                    for(new 
    strlen(inputtext); != 0; --i)
                    switch(
    inputtext[i])
                    {
                    case 
    'А'..'Я''а'..'я'' 'SPD(playerid,10006,DIALOG_STYLE_MSGBOX,"{00FF00}Ошибка!","Введенный вами пароль содержит русские буквы.\n Смените раскладку клавиатуры!","Повтор","");
                    }
                    
    mysql_format(MYSQL,stringsizeof(string),"SELECT * FROM `akk` WHERE `pName` = '%s' AND `pKey` = '%s'"Name(playerid), pass);
                    
    mysql_query(MYSQLstring);
                    if(!
    strcmp(inputtextpasstrue))
                    {
                        
    OnPlayerLogin(playeridinputtext);
                    }
                    else
                    {
                        
    format(string,256,"{FF6347}Внимание!Вы ввели неверный пароль!\n\tУ вас осталось(1) попытки\nПосле вы будете на время забанены");
                        
    SPD(playerid,10006,DIALOG_STYLE_MSGBOX,"Ошибка!",string,"Повтор","Выйти");
                    }
                }
            } 
    OnPlayerLogin(
    PHP код:
    forward OnPlayerLogin(playeridpassword[]);
    public 
    OnPlayerLogin(playeridpassword[])
    {
        new 
    maximum[160], string[100], playersip[125], yearmonthday;
        
    GetPlayerIp(playeridplayersipsizeof(playersip));
        
    format(stringsizeof(string), "SELECT * FROM `akk` WHERE `pName` = '%s' AND `pKey` = '%s'"Name(playerid), password);
        
    mysql_query(MYSQLstring);
        new 
    rdcache_get_data(rd);
        if(
    r)
    {
    ///
    }

    помогите если кто знает как исправить! пишите

  2. #2
    Аватар для J-Ex
    Пользователь

    Статус
    Оффлайн
    Регистрация
    09.03.2014
    Сообщений
    39
    Репутация:
    9 ±
    Вы создаёте переменную pass, но не присваиваете ей стринговое значение(оно остаётся пустым), а в запросе стоит именно pass, меняйте его на inputtext в SQL запросах.

 

 

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •