Nikita_Wrhavskiy

Опытные ребятки помогите пожалуйста

В теме 2 сообщения

Вопрос такой ребята как на php сделать так что что бы когда на сайте меняется статус аккаунта к примеру "онлайн" был зелёным цветом а "оффлайн" красным то есть работает через mysql базу статус аккаунта

F7EXEc4.png

Отредактировано пользователем keyl

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Nikita_Wrhavskiy применить соответствующий стиль?.. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • viktor666
      От viktor666
      Приветствую
      Ищу веб разраба что бы   заказать смену дизайна на сайте(дизайн есть)(сайт есть)
      Сайт на пхп
      Нужно просто поставить новый дизайн и изменить все под него(все для этого есть)
      Если вы предоставляете услуги веб разработчика то отпишите пожалуйста.
    • viktor666
      От viktor666
      <?php include 'engine/template/ext/head.php'; ?> <link href="/assets/css/toastr.css" rel="stylesheet"/> <script src="/assets/js/toastr.js"></script>      <section class="bg-primary" id="statistic-section">         <div class="container">             <div class="row">                     <div class="statistic">                         <div class="inner">                             <h1>Настройки аккаунта</h1>                            <div class='col-md-6' style='margin-top:300px;'>          Смена пароля<br><br> <form method='post'> <input name='last' placeholder="Старый пароль..."  class='form-control' type='text' required/><br> <input name='new' placeholder="Новый пароль..."  class='form-control' type='text' required/> <br><button type='sumbit' name="changepass" class='btn btn-red'><font color='white'>Изменить пароль</font></button></form> </div>   <div class='col-md-6' style='margin-top:300px;'> <?php if($a['EmailStatus'] == '0') { echo " Привязка Email<br><br> <form method='post'> <input name='email' type='email' placeholder='Укажите Email для привязки...'  class='form-control' required/><br><img src='/acaptcha.php' /> <div class='col-md-9'><input type='login' name='acaptcha' class='form-control' placeholder='Код Captcha' required></div><br> <br><button type='sumbit' name='addemail' class='btn btn-red'><font color='white'>Привязать Email</font></button></form>";    } sscanf($a['EmailStatus'], "%d|%s", $type,$hash); if($type == '1') { echo " Подтверждени Email<br><br> <form method='post'> <input name='email' type='email' value='Почта » ".$a['pEmail']."' disabled  class='form-control'/><br> <input name='codeemail' type='text' placeholder='Код из письма...' class='form-control' required><br> <button type='sumbit' name='addcode' class='btn btn-red'><font color='white'>Привязать Email</font></button></form> <br> Отправить повторное письмо<br><br> <form method='post'> <input name='email' type='email' placeholder='Укажите Email' class='form-control'/><br> <img src='/acaptcha.php' /> <div class='col-md-9'><input type='login' name='acaptcha' class='form-control' placeholder='Код Captcha' required></div> <button type='sumbit' name='addemail' class='btn btn-red'><font color='white'>Привязать Email</font></button></form> ";    } if($a['EmailStatus'] == '2') { echo " Смена Email<br><br> <form method='post'> <input name='email' type='email' value='Текущая » ".$a['pEmail']."' disabled  class='form-control'/><br> <input name='newemail' type='email' placeholder='Новая почта..' class='form-control' required><br><br><img src='/acaptcha.php' /> <div class='col-md-9'><input type='login' name='acaptcha' class='form-control' placeholder='Код Captcha' required></div><br> <button type='sumbit' name='newaddemail' class='btn btn-red'><font color='white'>Сменить Email</font></button></form> <br> ";    } ?> </div>                         </div>                     </div>             </div>         </div>     </section> <?php if (isset($msg)): ?> <?=$msg;?> <?php endif;?> <?php if($_SESSION['getmsg']) { echo $_SESSION['getmsg']; unset($_SESSION['getmsg']); }?> <?php include 'engine/template/ext/footer.php';?> Работает только часть с сменой пароля
      Как исправить?
    • Antoxa39
      От Antoxa39
      Дратути,я научился делать регистрацию, и хочу поделится со всеми как это сделать им самим.
      1.Нам потребуется: Denwer или Open Server. ( Урок про подключение я делал ранее, так что обьяснять сейчас что и как делать для подключения не буду, но урок можно посмотреть тут)
      2.MySQL R39-6.
      3. Прямые руки.
      4. Переходим к процессу.
      //P.S БД - База Данных
      Делаем подключение к БД.
      main(){} #include <a_samp> #include <a_mysql> #include <Pawn.CMD> #include <sscanf2> #include <streamer> #include <time> //--------------   SQL     ---------------------- new dbHandle; #define MYSQL_HOST "127.0.0.1" #define MYSQL_USER "mysql" #define MYSQL_BD "urok" #define MYSQL_PASSWORD "mysql" //------------------------ public OnGameModeInit() {     dbHandle = mysql_connect(MYSQL_HOST,MYSQL_USER,MYSQL_BD,MYSQL_PASSWORD);     CheckConnectSQL();     return 1; } public OnGameModeExit() {     return 1; } stock CheckConnectSQL() {     if(mysql_errno()) printf("Подключение к БД %s прервалось. Код ошибки: %d",MYSQL_BD,mysql_errno())     else printf("Подключение к БД %s успешно!",MYSQL_BD)     return 1; }
      Подключение сделано.
      Далее мы должны сделать такое: Когда игрок заходит на сервер, нужно проверить есть ли игрок с таким Никнеймом в БД.
      Делаем массив,который будет хранить в себе пароль,имя игрока. ( сделаем еще и уровень ).
      // перед --------------   SQL     ---------------------- создаем enum //Enum - это вещь, позволяющая создавать большее количество адресов одной переменной enum pInfo{     pID,     pNick[24],     pPassword[32],     pLevel } new Player[MAX_PLAYERS][pInfo];//Мы обьявили переменную,которая будет хранить в себе наш Enum. Идем создавать БД.
      1.
      2.
      3.
      4.
      5. Идем обратно к скриптингу
      И вот тут, мы сделаем проверку есть ли в БД аккаунт с таким никнеймом.
      public OnPlayerConnect(playerid) {     GetPlayerName(playerid,Player[playerid][pNick],MAX_PLAYER_NAME);//Мы записали ник игрока в массив pNick.     new query[100];//создаем переменную с запросом.     format(query,sizeof(query),"SELECT * FROM `account` WHERE `pNick` = '%s'",Player[playerid][pNick]);//Форматируем запрос, SELECT * FROM, то есть      //загружаем всю информацию о игроке с ником, записаным в pNick.     mysql_function_query(dbHandle,query,true,"CheckPlayerBD","i",playerid);//Посылаем запрос в БД, указываем ИД подключение - dbHandle. true - потому что мы хотим получить информацию. И вызываем следующим паблик "CheckPlayerBD"     return 1; } //в конец мода forward CheckPlayerBD(playerid); public  CheckPlayerBD(playerid) {     new rows,fields;     cache_get_data(rows,fields);//Проверили есть ли строка с таким именем.     if(!rows)//если нет такого игрока то показываем регистрацию     {         ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Регистрация", "Приветствуем Вас! Вы еще не зарегистрированы,введите свой пароль ниже.", "Далее", "");     }     else     {         ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Авторизация", "Рады видеть Вас снова на Urok. Авторизуйтесь.", "Далее", "");         cache_get_field_content(0,"pPassword",Player[playerid][pPassword],dbHandle);//Загружаем пароль игрока из БД.     }     return 1; } Я мог сделать ИД диалогов через енум, но для примера можно и так.
      Далее идем в OnDialogResponse
      public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]) {     switch(dialogid)     {         //case 1 это регистрация         case 1:         {             if(!response) return Kick(playerid); // если игрок отказывается от регистрации кикаем его.             if(strlen(inputtext) < 4 || strlen(inputtext) > 32 || strlen(inputtext) == 0) return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Регистрация", "Длина пароля от 4 до 32 символов.\n Вы также не можете продолжить не указав пароль", "Далее", "");             //это была проверка на длину пароля             for(new i; i < strlen(inputtext); i++)             {                 switch(inputtext[i])                 {                     case 'A'..'Z','a'..'z','0'..'9':continue;                     default: return ShowPlayerDialog(playerid, 1, DIALOG_STYLE_INPUT, "Регистрация", "Пароль может быть только: a-z, A-Z,0-9", "Далее", "");                 }             }             //это проверка на символы,если игрок будет писать пароль на русском, или какие нибудь другие символы             //например \*? то ему будет возвращатся этот же диалог,а если все отлично то регистрация продолжится.             new query[120 + MAX_PLAYER_NAME];//также создали запрос             format(query,sizeof(query),"INSERT INTO `account` (`pNick`,`pPassword`,`pLevel`) VALUES ('%s','%s','1')"),Player[playerid][pNick],inputtext);             /*Мы отформатировали строку,сделав в ней запрос: Добавить строку в таблице account, со столбцами pNick = '%s', %s значит строка             в данном случае эта строка, это массив который хранит в себе никнейм игрока,inputtext это введеный текст игроком, pLevel это уровень игрока,изначально в бд он будет 1.*/             mysql_query(dbHandle,query);             //теперь делаем запрос на загрузку акканута.             new query1[100];             format(query1,sizeof(query1),"SELECT * FROM `account` WHERE `pNick` = '%s'",Player[playerid][pNick]);//отфарматироваали новый запрос             mysql_function_query(dbHandle,query1,true,,"LoadAcc","i",playerid);         }     }     case 2:     {         if(!response) return Kick(playerid); // если игрок отказывается от авторизации также кикаем его.         if(strlen(inputtext) < 4 || strlen(inputtext) > 32 || strlen(inputtext) == 0) return ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Авторизация", "Неверный пароль", "Далее", "");//Делаем проверку на длину пароля, т.к при регистрации у нас пароль был от 4 до 32, тут тоже самое должно быть         for(new i; i < strlen(inputtext); i++)         {             switch(inputtext[i])             {                 case 'A'..'Z','a'..'z','0'..'9': continue;//если он также вводит правильные символы продолжаем выполнение кода для игрока.                 default: return  ShowPlayerDialog(playerid, 2, DIALOG_STYLE_INPUT, "Авторизация", "Не верный пароль!", "Далее", "");// при вводе спец.символов ему будет возвращать диалог авторизации             }         }         new query[120];         format(query,sizeof(query),"SELECT * FROM `account` WHERE `pNick` = '%s' AND `pPassword` = '%s'",Player[playerid][pNick],inputtext)//Загрузить информацию о игроке,и проверить совпадает введеный пароль игроком,с тем который в БД.         mysql_function_query(dbHandle,query,true,"CheckPass","i",playerid);     }     return 1; } //создаем паблик LoadAcc forward LoadAcc(playerid); public LoadAcc(playerid) {     Player[playerid][pID] = cache_get_field_content_int(0,"pID",dbHandle);// 0 потому что в БД может быть только одна строка с таким именем или ИД     Player[playerid][pLevel] = cache_get_field_content_int(0,"pLevel",dbHandle);// приравнение, то есть записываем Левел и ИД игрока в наши массивы.     //Пароль и никнейм загружать не надо } forward CheckPass(playerid); public CheckPass(playerid) {     new rows,fields;     cache_get_data(rows,fields);//сверяем пароль     if(rows)     {         //если веденный пароль совпадает с паролем в БД то авторизуем игрока         SpawnPlayer(playerid);         SendClientMessage(playerid,-1,"Вы успешно авторизовались!");     }     else     {         //если нет то считаем попытки ввода пароля         SetPVarInt(playerid,"wrong_password",GetPVarInt(playerid,"wrong_password") + 1)         ShowPlayerDialog(playerid,2,DIALOG_STYLE_INPUT,"Авторизация","Не верный пароль!","Далее","");         new str[64];         format(str,sizeof(str),"У вас осталось: %d попыток",GetPVarInt(playerid,"wrong_password"));         SendClientMessage(playerid,-1,str);//форматируем строку, где говорим игроку сколько у него осталось попыток         if(GetPVarInt(playerid,"wrong_password") >= 5) return Kick(playerid);//если игрок использовал больше 5 попыток, то кикаем его     } } и в OnGameModeExit()
      public OnGameModeExit() {     mysql_close(dbHandle);//отключаемся от БД     return 1; }  
    • Johny_Fox
      От Johny_Fox
       
      « San Andreas Online »

      Добро пожаловать в солнечный SanAndreas

      Уважаемые пользователи форума Pawno-Rus, я приглашаю вас в захватывающий мир « San Andreas Online », где реализовываются мечты. Окунитесь в беззаботный, и такой знакомый мир SanAndreas по-новому.





      Заработайте денег, получите авторитет и уважение, найдите верных друзей, катайтесь по штату на новеньком автомобиле, купите большой и уютный дом, развлекитесь в баре с коллегами.
      Займите сторону блюстителя закона: ловите бандитов, участвуйте в спецоперациях, лечите людей...
      Или же наоборот: торгуйте оружием, употребляйте запрещенные вещества, станьте главой преступного синдиката, и скройтесь от полиции штата.
      Вы также можете стать крупным бизнесменом, начав с небольшой забегаловки. Станьте главой крупной транспортной компании, владельцем таксопарка, рекламного агентства, ночного клуба, автозаправочной станции, магазина продуктов, риэлторского агентства...
      Эти и многие другие бизнесы доступны на нашем проекте « San Andreas Online ».





      На данный момент мы проделали большую работу для того, чтобы каждому игроку было комфортно, для того, чтобы вы не соскучились, а так же мы постарались максимально защитить вас от чит-программ, подключив мощные античиты.
      Мы постарались сделать все, чтобы вам хотелось вернуться в этот небольшой, но уютный мир « San Andreas Online ».





      Для того, чтобы начать игру, необходимо пройти простую процедуру регистрации.
      Все начинается с вашего приезда. Поезд подъезжает к платформе, и вот вы на вокзале Лос Сантоса...
      С этого момента вы позабудете, что такое скучные и нудные Role Play сервера, познакомитесь с новыми людьми.
      Добро пожаловать в штат San Andreas!





      Внимание! Данный проект не предполагает начальных бонусов. Игрок пребывает в штат с тремястами долларами.
      Дальнейшая судьба и способы заработка зависят от вас.

      - Разработана и применена система квестов для новых пользователей.
      - Система NPC для игроков.
      - Абсолютно новые интерьеры.
      - Удобное меню, а также комфортная для глаз и восприятия цветовая палитра.
      - Нестандартные работы, доступные уже с 1-го уровня.
      - Помощь новым игрокам 24/7.
      - Кастомизация вашего игрового персонажа.
      - Новые тюнинг ателье.


      Проект открыт с
      23.11.2020

      IP адрес:
      217.106.106.86:7031


      Форум.


      Проект предназначен для PC/Android Gaming.
    • Doc_Block
      От Doc_Block

      ______________________________________
      Приветствую всех пользователей форума или просто гостей.
      На данный момент у меня есть достаточное количество готовых сайтов для проектов SA:MP, буду выкладывать по чуть-чуть.
       
      Скачать: Pawno-Rus (2021 HTML).rar
      Скриншоты (фотокарточки сайта):
       
       
       
      Архив с сайтом прикреплен к теме.
      Пишите свои предложения по улучшению, всё учту.