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

    Статус
    Оффлайн
    Регистрация
    27.02.2015
    Сообщений
    317
    Репутация:
    0 ±

    Пароль от админ панели.

    Всем добрый вечер при создании системы админ паролей для входа на админку столкнулся с такой проблемой. После того как я создал систему ввел пароль он сохранился в БД но при перезаходе на сервер я ввожу любой пароль и он впускает в систему и не пишет что пароль не правильный. MySQL R41-2


    PHP код:
    CMD:aduty(playerid

        if(
    PI[playerid][pAdmin] == 0)return SendClientMessage(playerid,0xFF0000AA,"[ОШИБКА] {FFFFFF}Недостаточно прав для использования команды."); 
        if(
    PI[playerid][pADostup] == 0)return SPD(playerid,DIALOG_ADOSTUP,DIALOG_STYLE_INPUT,"{33CCFF}Администраторские права","{FFE4B5}У вас еще не указан пароль к администраторским правам.\nПридумайте и введите пароль отличающийся от основного пароля и нажмите ''ОК''.","ОК","Закрыть"); 
        if(
    AdminDuty[playerid] == 0
        { 
            
    SPD(playerid,DIALOG_ADUTY,DIALOG_STYLE_PASSWORD,"{33CCFF}Администраторские права","{FFE4B5}Введите свой пароль для получения администраторских прав.","ОК","Закрыть"); 
            } 
            else 
              { 
              static const 
    aduty[] = "%s %s[%d] %s дежурство."
            new 
    string[sizeof(aduty)+22+MAX_PLAYER_NAME+3+10-8]; 
            
    format(string,sizeof(string),aduty,NameAdmin[PI[playerid][pAdmin]-1],PI[playerid][pName],playerid,(PI[playerid][pSex] == 1) ? ("завершил") : ("завершила")); 
            
    ABroadCast(0xFFFF00AA,string,1); 
            
    AdutyPas[playerid] = 0
            
    AdminDuty[playerid] = 0
        } 
        return 
    1

    PHP код:
    if(dialogid == DIALOG_ADOSTUP
        { 
            if(!
    response)return 1
            if(!
    strlen(inputtext))return SPD(playerid,DIALOG_ADOSTUP,DIALOG_STYLE_INPUT,"{33CCFF}Администраторские права","{FFE4B5}У вас еще не указан пароль к администраторским правам.\nПридумайте и введите пароль отличающийся от основного пароля и нажмите ''ОК''.","ОК","Закрыть"); 
            if(
    strlen(inputtext) < || strlen(inputtext) > 32
            { 
                
    SendClientMessage(playerid,0xFF0000AA,"[ОШИБКА] {FFFFFF}Длина пароля должна быть в пределах от 6 и до 32 символов."); 
                
    SPD(playerid,DIALOG_ADOSTUP,DIALOG_STYLE_INPUT,"{33CCFF}Администраторские права","{FFE4B5}У вас еще не указан пароль к администраторским правам.\nПридумайте и введите пароль отличающийся от основного пароля и нажмите ''ОК''.","ОК","Закрыть"); 
            } 
            else 
            {
    //mysql_query(dbHandle,string); 
                
    strcat(PI[playerid][pApass],inputtext); 
                new 
    str[42+MAX_PLAYER_NAME-4+64+10+1]; 
                
    format(str,sizeof(str),"UPDATE `users` SET Apass = '%s', ADostup = '1' WHERE Name = '%s'",inputtext,PI[playerid][pName]); 
                
    mysql_tquery(dbHandle,str,"",""); 
                static const 
    tvoi[] = "Твой администраторский пароль: %s. Не забывай его, а лучше запиши."
                new 
    str1[sizeof(tvoi)+32-2]; 
                
    format(str1,sizeof(str1),tvoi,inputtext); 
                
    SendClientMessage(playerid,0x006400AA,str1); 
                static const 
    dejurstvo[] = "%s %s[%d] %s на дежурство."
                new 
    str2[sizeof(dejurstvo)+22+MAX_PLAYER_NAME+3+10-8]; 
                
    format(str2,sizeof(str2),dejurstvo,NameAdmin[PI[playerid][pAdmin]-1],PI[playerid][pName],playerid,(PI[playerid][pSex] == 1) ? ("заступил") : ("заступила")); 
                
    ABroadCast(0xFFFF00AA,str2,1); 
                
    SendClientMessage(playerid,0xFFFF00AA,str2); 
                
    AdminDuty[playerid] = 1
                
    PI[playerid][pADostup] = 1
            } 
        } 
        if(
    dialogid == DIALOG_ADUTY
        { 
            if(
    response
            { 
                if(!
    strlen(inputtext))return SPD(playerid,DIALOG_ADUTY,DIALOG_STYLE_PASSWORD,"{33CCFF}Администраторские права","{FFE4B5}Введи свой пароль для получения администраторских прав.","ОК","Закрыть"); 
                if(!
    strcmp(inputtext,PI[playerid][pApass],true)) 
                { 
                    static const 
    dejurstvo[] = "%s %s[%d] %s на дежурство."
                    new 
    str[sizeof(dejurstvo)+22+MAX_PLAYER_NAME+3+10-8]; 
                    
    format(str,sizeof(str),dejurstvo,NameAdmin[PI[playerid][pAdmin]-1],PI[playerid][pName],playerid,(PI[playerid][pSex] == 1) ? ("заступил") : ("заступила")); 
                    
    ABroadCast(0xFFFF00AA,str,1); 
                    
    SendClientMessage(playerid,0xFFFF00AA,str); 
                    
    AdminDuty[playerid] = 1
                } 
                else 
                { 
                    
    AdutyPas[playerid]++; 
                    static const 
    apass[] = "[ОШИБКА] {FFFFFF}Неверный пароль от ''/aduty''. Осталось попыток {FF0000}%d{FFFFFF}."
                    new 
    string1[sizeof(apass)+1-2]; 
                    
    format(string1,sizeof(string1),apass,3-AdutyPas[playerid]); 
                    
    SendClientMessage(playerid,0xFF0000AA,string1); 
                    if(
    AdutyPas[playerid] >= 3
                    { 
                        
    //f(string,"Античит: %s[%d] был(а) кикнут(а). Причина: Подбор пароля к ''/aduty''.",PI[playerid][pName],playerid); 
                        //ABroadCast(0xFFFF00AA,string,1); 
                        
    SendClientMessage(playerid,0xFFFF00AA,"Ты был(а) кикнут(а) античитом. Причина: Подбор пароля к ''/aduty''."); 
                        
    Kick(playerid); 
                    } 
                } 
                return 
    1
            } 
        } 

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

    Статус
    Оффлайн
    Регистрация
    18.08.2017
    Сообщений
    20
    Репутация:
    0 ±
    Вставь после
    PHP код:
    if(!strcmp(inputtext,PI[playerid][pApass],true)) 
    PHP код:
    printf("%s | %s"inputtextPI[playerid][pApass]); 
    и посмотри, загружается ли пароль из базы в этот массив.
    Последний раз редактировалось Betta; 21.09.2017 в 22:41.

 

 

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

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

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

Ваши права

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