1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.
  2. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
  3. Данный раздел создан исключительно для релизов! Вопросы по лаунчеру или обвязке задавайте ТОЛЬКО в соответсвующей теме автора. Любые другие темы будут удалены, а авторы понесут наказание.

Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Веб Web-интерфейс смены скинов

Тема в разделе "Веб-обвязки и лаунчеры", создана пользователем lol63, 5 окт 2011.

  1. Fantarar

    Fantarar Старожил Переводчик Пользователь

    Баллы:
    123
    ну по факту можно указать другой адресс добавив пару строк кода
     
  2. Grimnir

    Grimnir Активный участник Пользователь

    Баллы:
    88
    Skype:
    ruscreeper
    Да, но я не знаю как осуществить подключение по FTP (с паролем), я в PHP не силён.
     
  3. makkarpov

    makkarpov Активный участник Пользователь

    Баллы:
    88
    Ау, народ! Вы параметры в скрипте экранировать собираетесь? Вместо $_POST['login'] пишите mysql_real_escape_string($_POST['login'])
     
  4. eyenet

    eyenet Активный участник

    Баллы:
    63
    Уважаемый lol63, а напишите пожалуйста плагин, который закачивал бы скрин без подключения к базе данных, но в котором надо было бы вводить ник, в общем всё тоже самое просто без подключения к базе и ввода пароля, заранее большое спасибо)
     
  5. kaban1997

    kaban1997 Старожил Переводчик Пользователь

    Баллы:
    173
    Лови
     

    Вложения:

    • web-skins.zip
      Размер файла:
      1,5 КБ
      Просмотров:
      31
  6. _Dimk_O_

    _Dimk_O_ Старожил Пользователь

    Баллы:
    123
    Skype:
    dimk__o
    Использовал это.
    Использовал то что выложил топикстартер.
    В результате:
    • Если не использовать Xenforo то все загружает на ура.
    • При использовании с Xenforo файл сохраняет в виде .png
    В смысле у файла нет названия.
    Вот код.
    з.ы. Я ковыряю справку делая псевдо кабинет.
    Там такой код:
    HTML:
    <div align="center">
    <form action="1.php" method="post" enctype="multipart/form-data">
          Выбери скин на своем компьютере:
          <input type="file" name="filename"><br>
          <input name="nick" type="text" value="{$visitor.username}" readonly><br>
          <input type="submit" value="Загрузить"><br>
    </form>
    <applet code="skinpreviewapplet.AppletLauncher" archive="./js/skinpreview.jar" codebase="." height="310px">
    <param name="url" value="http://mc/minecraft/skins/{$visitor.username}.png" /></applet>
    </div>
    Файл 1.php имеет такое содержимое:
    PHP:
    </head>
    <body>
    <?php
    $docRoot 
    getenv("DOCUMENT_ROOT");
        
    $imageinfo getimagesize ($_FILES['filename']['tmp_name']);
        if(
    $_FILES['filename']['type'] != "image/png") {
            echo(
    "\nЭтот файл не в формате png!");
            exit;
        } elseif(
    $imageinfo['mime'] != 'image/png') {
            echo(
    "\nЭтот файл не в формате png!");
            exit;
        } elseif(
    $imageinfo["0"] != '64') {
            echo(
    "\nСкин должен быть размером 64x32!");
            exit;
        } elseif(
    $imageinfo["1"] != '32') {
            echo(
    "\nСкин должен быть размером 64x32!");
            exit;
        } elseif (!
    preg_match("/\.(png)$/i"$_FILES['filename']['name'])){
            echo(
    "\nУ вас нет прав на закачку файла!");
            exit;
        }
      if(
    is_uploaded_file($_FILES["filename"]["tmp_name"]))
      {
        
    move_uploaded_file($_FILES["filename"]["tmp_name"], "$docRoot/minecraft/skins/".$_POST['nik'].".png");
        echo (
    " Скин успешно обновлен!"); //                    ^^^^^^^^^^^
      
    }                                  //                Сюда пишем путь к папке
    else
        {
          echo(
    " Ошибка загрузки файла");
        }
    ?>
    </body>
    </html>
    По логике должно все отлично работать.
    НО скин загружает вот так
    1111111111111111111111111111111111111111.PNG
    Кто подскажет что за глупость?

    Сия страница в действии, тестируется на локальной машине (open server)
    Безымянный.png

    з.ы. Как убрать вот эту фигню?
    Notice: Undefined index: nik in W:\html\mc\www\1.php on line 24

    Каждый раз вылазит....
     
  7. _Dimk_O_

    _Dimk_O_ Старожил Пользователь

    Баллы:
    123
    Skype:
    dimk__o
  8. andrey456

    andrey456 Старожил Пользователь

    Баллы:
    123
    Попробуй заменить
    на этот
     
    Egor33345 нравится это.
  9. _Dimk_O_

    _Dimk_O_ Старожил Пользователь

    Баллы:
    123
    Skype:
    dimk__o
    Результат аналогичен.
    и вот тут

    if (!]

    ошибка

    Такое чувство что ник вообще не передается...
     
    Likeobot нравится это.
  10. _Dimk_O_

    _Dimk_O_ Старожил Пользователь

    Баллы:
    123
    Skype:
    dimk__o
    Проблему решил)))))
    Правда пришлось немного намудрить.
    Вышло такое:
    PHP:
    if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
      {
        
    move_uploaded_file($_FILES["filename"]["tmp_name"], "$docRoot/minecraft/skins/tempskin.png");
        if (
    file_exists("$docRoot/minecraft/skins/".$_POST['nick'].".png"))
            {
        
    unlink ("$docRoot/minecraft/skins/".$_POST['nick'].".png");
            }
        
    rename"$docRoot/minecraft/skins/tempskin.png""$docRoot/minecraft/skins/".$_POST['nick'].".png" );
        print 
    "Скин успешно обновлен!"//                    ^^^^^^^^^^^
      
    }  
    Пришлось сначала загрузить скин с фиговым названием, потом переименовать его в то что мы получаем из внешней странички.
    Иначе никак не получалось.

    + к всему этому появлялась проблема что если скин был, то выдавало ошибку.
    Пришлось впилить удаление скина.
    Теперь рррработает)
    Может кому и пригодится сей код ^_^

    Теперь кто бы подсказал как изменить справку чтоб было так как надо :)
    К примеру ссылки
    • Главная кабинета
    • Скин
    • Плащ
    • Игровая валюта(вот тоже интересно как через сайт ее сделать)
    • Еще какая-то ссыль...
    Если кто знает, просьба не орать, а стукнуть в лс :)
     
    DavidShabaev нравится это.
  11. BanZay_Pro

    BanZay_Pro Активный участник Пользователь

    Баллы:
    63
    @_Dimk_O_, ты какой CMS пользуешься? по моему вариант поменять помощь на ЛК (как ты и пытаешься сделать). а чтобы показать как новые пункты ставить нужно знать CMS
     
  12. _Dimk_O_

    _Dimk_O_ Старожил Пользователь

    Баллы:
    123
    Skype:
    dimk__o
    Я ковыряю Xenforo
    Новые пункты это не вопрос. Там всего лишь список <li>
    Вопрос в создании новых страниц чтоб их ссылка была типа
    • /cabinet/skin
    • /cabinet/cloac
    • /cabinet/payment
    Что-то в таком виде.

    Сие тоже решил)
     
  13. Wolfys

    Wolfys Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    wolfysge
    Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in Z:\home\84.53.243.3\www\index.php on line 53

    Warning: Cannot modify header information - headers already sent by (output started at Z:\home\84.53.243.3\www\index.php:53) in Z:\home\84.53.243.3\www\index.php on line 87

    Warning: Cannot modify header information - headers already sent by (output started at Z:\home\84.53.243.3\www\index.php:53) in Z:\home\84.53.243.3\www\index.php on line 116
    Вот такие ошибки вылетают при входе на сайт. Это мой сайт, стоит у меня дома на Denwer - скачал и установил настройки его не менял, что делать кто-нибудь подскажет ?)
     
  14. _Dimk_O_

    _Dimk_O_ Старожил Пользователь

    Баллы:
    123
    Skype:
    dimk__o
    Чтоб помогли быстрее, нужно еще и выложить сам index.php :)
     
  15. Wolfys

    Wolfys Активный участник Пользователь

    Баллы:
    88
    Имя в Minecraft:
    wolfysge
    проблему решил, но возникла другая проблема на персонажа не применяется скин, использую xauth и этот скинер.
    Как сделать мне что-бы на персонаже он отображался ?
     
  16. Zichi

    Zichi Активный участник Пользователь

    Баллы:
    68
    Skype:
    zichi.zz
    Имя в Minecraft:
    kimberleeha
    Parse error: syntax error, unexpected T_STRING in /home/u304734421/public_html/MinecraftSkins/upload.php on line 10

    что это за ошибка?
    <html>
    <head>
    <title>Загрузка скинов на сервер</title>
    </head>
    <body>
    <?php
    //Коннекты к базе
    $dbhost = "";
    $dbuser = ";
    $dbpass = "";
    $dbname = "";
    $docRoot = getenv("DOCUMENT_ROOT");

    mysql_connect($dbhost, $dbuser, $dbpass);
    MYSQL_SELECT_DB($dbname);

    $pass_md5 = md5($_POST['mcpass']);
    $pass_md1 = substr($pass_md5, 0, 33);

    // echo "Оригинальный: ".$_POST['mcpass']; //Тестовые
    // echo " MD5 PHP: ".$pass_md1; //Тестовые
    if(!isset($_POST['mcname'])){die("Вы не ввели имя!");}
    if(!isset($pass_md1)){die("Вы не ввели пароль!");}
    $sql = mysql_query("SELECT password FROM authme WHERE username='".$_POST['mcname']."'");
    $query = mysql_result($sql,0);
    // echo " MD5 Query: ".$query; //Тестовые
    if($query != $pass_md1){die("Такого аккаунта не существует, либо пароль введен не верно!");}

    $imageinfo = getimagesize ($_FILES['filename']['tmp_name']);
    if($_FILES['filename']['type'] != "image/png") {
    echo("\nЭтот файл не в формате png!");
    exit;
    } elseif($imageinfo['mime'] != 'image/png') {
    echo("\nЭтот файл не в формате png!");
    exit;
    } elseif($imageinfo["0"] != '64') {
    echo("\nСкин должен быть размером 64x32!");
    exit;
    } elseif($imageinfo["1"] != '32') {
    echo("\nСкин должен быть размером 64x32!");
    exit;
    } elseif (!preg_match("/\.(png)$/i", $_FILES['filename']['name'])){
    echo("\nУ вас нет прав на закачку файла!");
    exit;
    }
    if(is_uploaded_file($_FILES["filename"]["tmp_name"]))
    {
    #move_uploaded_file($_FILES["filename"]["tmp_name"], "E:/Web/htdocs/MinecraftSkins/".$_POST['mcname'].".png");
    move_uploaded_file($_FILES["filename"]["tmp_name"], "$docRoot/skins/".$_POST['mcname'].".png");
    echo (" Скин успешно обновлен!"); // ^^^^^^^^^^^
    } // Сюда пишем путь к папке
    else
    {
    echo(" Ошибка загрузки файла");
    }
    mysql_close();
    ?>
    <br>
    <br><input type="button" id="indexButton1" onclick="history.back();return false;" name="" value="Назад" style="position:absolute;width:96px;height:25px;font-family:Arial;font-size:13px;">
    </body>
    </html>
    <!-- Автор: lol63 -->
    index.php
     
    I-Am-Black-Overlord нравится это.
  17. _Dimk_O_

    _Dimk_O_ Старожил Пользователь

    Баллы:
    123
    Skype:
    dimk__o
    Возможно в пароле вводишь не корректные данные.
    Если пароль с буквами то в кавычки "пароль"
    Если циферный то не надо кажется.
     
  18. Penchekrak

    Penchekrak Активный участник

    Баллы:
    63
    спасибо огромное
     
  19. Flash777

    Flash777 Активный участник Пользователь

    Баллы:
    78
    Skype:
    Kroch33N
    Имя в Minecraft:
    _Flash777_
    У тебя не сайт не поддерживает PHP а хостинг поменяй хостинг на тот у которого есть поддержка PHP и всё =)
    P.S. Обычно хостинг указывает какие функции присутствуют иши тот в котором есть поддержка PHP
     
  20. kaban1997

    kaban1997 Старожил Переводчик Пользователь

    Баллы:
    173
    Дату сообщения видел?

    Я уже давно сам себе хостинг
     

Поделиться этой страницей