1. Гость, мы просим Вас ознакомиться с Правилами Форума и Отказом от ответственности!

Скрипт начисления голд+отправка на почту (mmotop)

Тема в разделе 'PW Решённые вопросы', создана пользователем maestro199, 28 ноя 2013.

Статус темы:
Закрыта.
  1. TopicStarter Overlay

    maestro199 Пользователи

    Сообщения:
    320
    Лайки:
    53
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    AsteriaOnline
    Кто-то где то как-то раз скрестил пару скриптов, начисления голда за голосование в топе, и отправку итема на почту. Я наткнулся на ошибку (при прочтении гайдов по php я предположил что где то в коде косяк по типу незакрытой функции) ошибка парса с указанием номера строки "Последняя строка+1".
    https://www.******.ru/attachments/8c9082b6b5c18703cc72425f050579e3-png.4278/
    К сожалению от коддинга я далек, возможно кому-то будет не лень посмотреть код и высказать гениальную идею (можно лично).
    Спасибо.
    Код:
    <?php
    
    //////////////////////////////////////////////////////////////////////////////////////////
    $DBHost = "localhost";                                      // localhost or your IP  //
    $DBUser = "лог";                                          // Database user          //
    $DBPassword = "пасс";                      // Database password      //
    $DBName = "база";                                          // Database name          //
    $voice = "1";                                          // Сколько будет давать шт. за Обычный голос          //
    $smsvoice = "2";                                        // Сколько будет давать шт. СМС голос 
    $itemid = "ИД";                                              // Ид предмета, который будет приходить на почту игроку.
    $maxcount = "10000";                          //Максимальное кол-во предмета в инвентаре
    $octets = "0";            // Октет вещи/предмета. Внимание!!!Если в предмете нету октета, то ставим значение 0
    $proctype = "0";            // proctype вещи. Внимание!!!Если в предмете нету proctype, то ставим значение 0
    $date = "0";                //Срок предмета.То есть время сколько он будет существовать в игре.Если хотите без лимита, то ставим значение 0
    $mask = "0";                // Вид итема. Узнать какой вид вашего итема можно через посмотреть в айвебе xml.
    $money = "0";                // Кол-во денег которое будет отправлено вместе с итемом.
    
    
    
    //////////////////////////////////////////////////////////////////////////////////////
    
    // адресс к файлу лога на mmotope
    $fcontent=file("Лог ммотопа");
    
    function dbconnect ()
    {
      global $DBHost,$DBUser,$DBPassword,$DBName;
        ///////Start Open MySQL-connection///////////////////
        $openConndb = mysql_connect( $DBHost, $DBUser, $DBPassword );
        $dbSelected = mysql_select_db( $DBName, $openConndb );
        setlocale(LC_ALL, 'ru_RU.utf-8');
        mysql_query("SET character_set_results='utf8'");
        mysql_query("SET NAMES 'utf8'");
        /////////End Open MySQL-connection/////////////////////
        return $openConndb;
    }
    
    $content = @file_get_contents($linkstat);
    $massive=explode("\n", $content);
    for($j=0;$j<sizeof($fcontent);$j++)
    {
      $temp=explode("\t",$fcontent[$j]);
      $vote_id  = (int)trim($temp[0]);
      $vote_time = trim($temp[1]);
    
      $vote_time = explode(" ",$vote_time);
      $temp1 = explode(".",$vote_time[0]);
      $vote_time = $temp1[2]."-".$temp1[1]."-".$temp1[0]." ".$vote_time[1];
    
      $vote_ip  = trim($temp[2]);
      $vote_char_name = strtolower(trim($temp[3]));
      $vote_count    = (int)trim($temp[4]);
    
    if(strlen($vote_char_name) <= 0)
          continue;
    $loginquery = MySQL_Query("select `name` from `users` WHERE `name`='$vote_char_name'", dbconnect());
      $login = mysql_num_rows($loginquery) ? mysql_result($loginquery, 0,'name') : '';
      if($login == $vote_char_name) {
    
      $query = "SELECT vote_id FROM mmotop WHERE vote_id = ".$vote_id;
      $result = mysql_query($query, dbconnect());
      $row=mysql_fetch_row($result);
      if($row[0])
          continue;
    
      $mysqlresult=MySQL_Query("select * from `users` WHERE `name`='$vote_char_name'", dbconnect());
      $User_ID=MySQL_result($mysqlresult,0,'ID');
    
      $query = "INSERT INTO mmotop (vote_id,vote_time,vote_ip,vote_char_name,vote_count) VALUES ('".$vote_id."','".$vote_time."','".$vote_ip."','".mysql_escape_string($vote_char_name)."','".$vote_count."')";
      $result = mysql_query($query, dbconnect());
         
    function CUINT($Data)
    {
        if($Data < 64)
                return StrRev(PACK("C", $Data));
        else if($Data < 16384)
                return StrRev(PACK("S", ($Data | 0x8000)));
        else if($Data < 536870912)
                return StrRev(PACK("I", ($Data | 0xC0000000)));
        return StrRev(PACK("c", -32) . PACK("I", $Data));
    }
    
    function SysSendMail($Receiver, $Title, $Message, $ItemID, $Count, $Count_Max, $Octets, $Proctype, $Expire_date, $Guid1, $Guid2, $Mask, $Money)
    {
        $tID = "\x00\x00\x01\x58";
        $SysID = "\x00\x00\x00\x20";
        $SysType = "\x03";
       
        $Receiver = PACK("N*", $Receiver);
        $Title = iCONV("UTF-8", "UTF-16LE", $Title);
            $TitleLengh = StrLen($Title);
            if($TitleLengh < 128)
            {
                $TitleLengh = PACK("C*", $TitleLengh);
            }
            else
            {
                $TitleLengh = PACK("n*", $TitleLengh + 32768);
            }
        $Message = iconv("UTF-8", "UTF-16LE", $Message);
            $MessageLengh = strlen($Message);
            if($MessageLengh < 128)
            {
                $MessageLengh = PACK("C*", $MessageLengh);
            }
            else
            {
                $MessageLengh = PACK("n*", $MessageLengh + 32768);
            }
        $ItemID = PACK("N*", $ItemID);
        $Pos = "\x00\x00\x00\x00";
        $Count = PACK("N*", $Count);
        $Count_Max = PACK("N*", $Count_Max);   
        $Octets = PACK("H*", $Octets);
        $OctetsLenght = PACK("n*", strlen($Octets) + 32768);   
        $Proctype = PACK("N*", $Proctype);
        $Expire_date = PACK("N*", $Expire_date);
        $Guid1 = PACK("N*", $Guid1);
        $Guid2 = PACK("N*", $Guid2);
        $Mask = PACK("N*", $Mask);
        $Money = PACK("N*", $Money);
       
        $Packet = $tID.$SysID.$SysType.$Receiver.$TitleLengh.$Title.$MessageLengh.$Message.$ItemID.$Pos.$Count.$Count_Max.$OctetsLenght.$Octets.$Proctype.$Expire_date.$Guid1.$Guid2.$Mask.$Money;
            $PacketLenght = strlen($Packet);
            if($PacketLenght < 128)
            {
                $PacketLenght = PACK("C*", $PacketLenght);
            }
            else
            {
                $PacketLenght = PACK("n*",$PacketLenght + 32768);
            }
    
        $Packet = "\x90\x76".$PacketLenght.$Packet;
    
        $Socket = SOCKET_CREATE(AF_INET, SOCK_STREAM, SOL_TCP);
        if(!$Socket)
        {
                die(SOCKET_STRERROR(SOCKET_LAST_ERROR()));
        }
        if(SOCKET_CONNECT($Socket,'127.0.0.1',29100))
        {
            SOCKET_SET_BLOCK($Socket);
            if (false !== ($sBytes = SOCKET_SEND($Socket,$Packet,8192,0)))
            {
            }
            else
            {
                $ERR = 1;
            }
            if (false !== ($rBytes = SOCKET_RECV($Socket,$BUF,8192,0)))
            {
            }
            else
            {
                $ERR = 2;
            }
            SOCKET_SET_NONBLOCK($Socket);
            SOCKET_CLOSE($Socket);
        }
        else
        {
            $ERR = 3;
        }
       
        return $ERR;
    }
    
    
                    if($vote_count == 1)    SysSendMail("$User_ID", "Почта преисподни", "Спасибо, что проголосовали.", "$itemid", "$voice", "$maxcount", "$octets", "$proctype", "$date", 0, 0, "$mask", "$money");
                    if($vote_count == 2)    SysSendMail("$User_ID", "Почта преисподни", "Спасибо, что проголосовали.", "$itemid", "$smsvoice", "$maxcount", "$octets", "$proctype", "$date", 0, 0, "$mask", "$money");
           
    
       
    echo <<<HTML
    <style>
    input[type='text'],select,textarea
        {
        outline-style:none;
        }
    form {
        margin:20;
        }
    a    {
        text-decoration:none;
        }
    a:hover
        {
        color:rgba(159,182,205,1.0);
        }
    </style>
    <form method='post'>
    </form>
    HTML;
    
  2. pilad Команда форума Модератор Пользователи

    Сообщения:
    1.740
    Лайки:
    480
    Пол:
    Мужской
    Репутация:
    1
    Команда:
    Freeman
    На диндеве этот скрипт. Возможно он там рабочий.
  3. TopicStarter Overlay

    maestro199 Пользователи

    Сообщения:
    320
    Лайки:
    53
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    AsteriaOnline
    Оттуда и взят. Видать нерабочий
  4. syxid Пользователи

    Сообщения:
    284
    Лайки:
    115
    Репутация:
    0
    Он рабочий, почти. Там только модифицировать нужно так как в текущем варианте после 15 письма примерно скрипт вылетает.
    Да и в любом случае так как ммотоп частенько любит "забыть" очистить файл статистики, а то и закинуть в него всю статистику за год, надо модифицировать и ставить защиту от "mmotop"
    Я долгий на раскачку, но и мне 2х таких раз хватило чтобы быстренько переписать скрипт во избежания повторного начисления голд/отправки почты за прошлый месяц голосования, а то и не за месяц :D

    После этого
    if($vote_count == 2) SysSendMail("$User_ID", "Почта преисподни", "Спасибо, что проголосовали.", "$itemid", "$smsvoice", "$maxcount", "$octets", "$proctype", "$date", 0, 0, "$mask", "$money");

    закрой фигурную скобку и будет работать
    maestro199 нравится это.
  5. TopicStarter Overlay

    maestro199 Пользователи

    Сообщения:
    320
    Лайки:
    53
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    AsteriaOnline
    Очистку базы 1ого числа можно выставить
    --- добавлено: 28 ноя 2013 в 17:29 ---
    Но у меня и 15 не зачисляет..
    --- добавлено: 28 ноя 2013 в 17:31 ---
    Если ее нужно закрыть, соответственно она должна сначала открыться оО А я что-то не нахожу где она открывается т.т
    --- добавлено: 28 ноя 2013 в 17:35 ---
    Хм.. закрыл - безрезультатно оО
    Последнее редактирование модератором: 6 дек 2013
  6. Тыщ Группа анонимных алкоголиков Art Old school Пользователи

    Сообщения:
    1.573
    Лайки:
    812
    Пол:
    Мужской
    Репутация:
    2
    29100 открыт?
  7. FrozenThrone Пользователи

    Сообщения:
    256
    Лайки:
    70
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    Winner on life
    ?> в конце не хватает
  8. TopicStarter Overlay

    maestro199 Пользователи

    Сообщения:
    320
    Лайки:
    53
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    AsteriaOnline
    Открыт
    Это да, добавил - нет профит.
    --- добавлено: 28 ноя 2013 в 17:54 ---
    Включил error_reporting выдает:
    [​IMG]
    Последнее редактирование модератором: 6 дек 2013
  9. FrozenThrone Пользователи

    Сообщения:
    256
    Лайки:
    70
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    Winner on life
    Вообще в первом посте как раз ошибка на 195 строке
    [​IMG]
  10. TopicStarter Overlay

    maestro199 Пользователи

    Сообщения:
    320
    Лайки:
    53
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    AsteriaOnline
    Ошибка на 195-й строчек в коде 194 синтаксические ошибки кода на php всегда ссылаются на строку после последней не зависимо от того где в коде ошибка. После вставки закрывающего тега пхп на 195ю стору ошибка ссылается на 196-ю.
  11. FrozenThrone Пользователи

    Сообщения:
    256
    Лайки:
    70
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    Winner on life
  12. TopicStarter Overlay

    maestro199 Пользователи

    Сообщения:
    320
    Лайки:
    53
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    AsteriaOnline
    Оборвать скрипт посередине? оО
    --- добавлено: 28 ноя 2013 в 18:12 ---
    Меня очень настораживают первые 2 слова ошибки Parse error
    Может закомментить все кроме парса лога топа и заноса в базу? Посмотреть занесет ли
    Последнее редактирование модератором: 6 дек 2013
  13. FrozenThrone Пользователи

    Сообщения:
    256
    Лайки:
    70
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    Winner on life
    Я имел в виду } как на скрине поставить
    Последнее редактирование модератором: 6 дек 2013
  14. TopicStarter Overlay

    maestro199 Пользователи

    Сообщения:
    320
    Лайки:
    53
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    AsteriaOnline
    А, ну да, трабл не решает
    --- добавлено: 28 ноя 2013 в 18:46 ---
    Взял функции коннекта к БД из скрипта начисления голда за голоса, данная ошибка пропала, но появилась к другой строке. Видимо где то в этом куске косяк.
    Код:
    function dbconnect ()
    {
      global $DBHost,$DBUser,$DBPassword,$DBName;
        ///////Start Open MySQL-connection///////////////////
        $openConndb = mysql_connect( $DBHost, $DBUser, $DBPassword );
        $dbSelected = mysql_select_db( $DBName, $openConndb );
        setlocale(LC_ALL, 'ru_RU.utf-8');
        mysql_query("SET character_set_results='utf8'");
        mysql_query("SET NAMES 'utf8'");
        /////////End Open MySQL-connection/////////////////////
        return $openConndb;
    }
    
    $content = @file_get_contents($linkstat);
    $massive=explode("\n", $content);
    for($j=0;$j<sizeof($fcontent);$j++)
    {
      $temp=explode("\t",$fcontent[$j]);
      $vote_id  = (int)trim($temp[0]);
      $vote_time = trim($temp[1]);
    
      $vote_time = explode(" ",$vote_time);
      $temp1 = explode(".",$vote_time[0]);
      $vote_time = $temp1[2]."-".$temp1[1]."-".$temp1[0]." ".$vote_time[1];
    
      $vote_ip  = trim($temp[2]);
      $vote_char_name = strtolower(trim($temp[3]));
      $vote_count    = (int)trim($temp[4]);
    
    if(strlen($vote_char_name) <= 0)
          continue;
    $loginquery = MySQL_Query("select `name` from `users` WHERE `name`='$vote_char_name'", dbconnect());
      $login = mysql_num_rows($loginquery) ? mysql_result($loginquery, 0,'name') : '';
      if($login == $vote_char_name) {
    
      $query = "SELECT vote_id FROM mmotop WHERE vote_id = ".$vote_id;
      $result = mysql_query($query, dbconnect());
      $row=mysql_fetch_row($result);
      if($row[0])
          continue;
    
      $mysqlresult=MySQL_Query("select * from `users` WHERE `name`='$vote_char_name'", dbconnect());
      $User_ID=MySQL_result($mysqlresult,0,'ID');
    
      $query = "INSERT INTO mmotop (vote_id,vote_time,vote_ip,vote_char_name,vote_count) VALUES ('".$vote_id."','".$vote_time."','".$vote_ip."','".mysql_escape_string($vote_char_name)."','".$vote_count."')";
      $result = mysql_query($query, dbconnect());
    Последнее редактирование модератором: 6 дек 2013
  15. FrozenThrone Пользователи

    Сообщения:
    256
    Лайки:
    70
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    Winner on life
    Строку хоть назови
  16. TopicStarter Overlay

    maestro199 Пользователи

    Сообщения:
    320
    Лайки:
    53
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    AsteriaOnline
    С мертвяка сдвинулись но недалеко.
    [​IMG]
    Но теперь заносил 2 аккаунта в базу (не понимаю почему 2 но заносит)
    Код:
    <?php
    
    //////////////////////////////////////////////////////////////////////////////////////
    $DBHost = "localhost";                                    // localhost or your IP  //
    $DBUser = "*";                                        // Database user          //
    $DBPassword = "*";                                  // Database password      //
    $DBName = "*";                                          // Database name          //
    $voice = "*";                                          // Обычный голос          //
    $smsvoice = "*";                                        // СМС голос              //
    //////////////////////////////////////////////////////////////////////////////////////
    
    // адресс к файлу лога на mmotope
    $fcontent=file("txt");
    
    function dbconnect ()
    {
      global $DBHost,$DBUser,$DBPassword,$DBName;
        ///////Start Open MySQL-connection///////////////////
        $openConndb = mysql_connect( $DBHost, $DBUser, $DBPassword );
        $dbSelected = mysql_select_db( $DBName, $openConndb );
        setlocale(LC_ALL, 'ru_RU.utf-8');
        mysql_query("SET character_set_results='utf8'");
        mysql_query("SET NAMES 'utf8'");
        /////////End Open MySQL-connection/////////////////////
        return $openConndb;
    }
    
    $content = @file_get_contents($linkstat);
    $massive=explode("\n", $content);
    for($j=0;$j<sizeof($fcontent);$j++)
    {
      $temp=explode("\t",$fcontent[$j]);
      $vote_id  = (int)trim($temp[0]);
      $vote_time = trim($temp[1]);
    
      $vote_time = explode(" ",$vote_time);
      $temp1 = explode(".",$vote_time[0]);
      $vote_time = $temp1[2]."-".$temp1[1]."-".$temp1[0]." ".$vote_time[1];
    
      $vote_ip  = trim($temp[2]);
      $vote_char_name = strtolower(trim($temp[3]));
      $vote_count    = (int)trim($temp[4]);
    
    if(strlen($vote_char_name) <= 0)
          continue;
    $loginquery = MySQL_Query("select `name` from `users` WHERE `name`='$vote_char_name'", dbconnect());
      $login = mysql_num_rows($loginquery) ? mysql_result($loginquery, 0,'name') : '';
      if($login == $vote_char_name) {
    
      $query = "SELECT vote_id FROM mmotop WHERE vote_id = ".$vote_id;
      $result = mysql_query($query, dbconnect());
      $row=mysql_fetch_row($result);
      if($row[0])
          continue;
    
      $mysqlresult=MySQL_Query("select * from `users` WHERE `name`='$vote_char_name'", dbconnect());
      $User_ID=MySQL_result($mysqlresult,0,'ID');
    
      $query = "INSERT INTO mmotop (vote_id,vote_time,vote_ip,vote_char_name,vote_count) VALUES ('".$vote_id."','".$vote_time."','".$vote_ip."','".mysql_escape_string($vote_char_name)."','".$vote_count."')";
      $result = mysql_query($query, dbconnect());
       
    function CUINT($Data)
    {
        if($Data < 64)
                return StrRev(PACK("C", $Data));
        else if($Data < 16384)
                return StrRev(PACK("S", ($Data | 0x8000)));
        else if($Data < 536870912)
                return StrRev(PACK("I", ($Data | 0xC0000000)));
        return StrRev(PACK("c", -32) . PACK("I", $Data));
    }
    
    function SysSendMail($Receiver, $Title, $Message, $ItemID, $Count, $Count_Max, $Octets, $Proctype, $Expire_date, $Guid1, $Guid2, $Mask, $Money)
    {
        $tID = "\x00\x00\x01\x58";
        $SysID = "\x00\x00\x00\x20";
        $SysType = "\x03";
     
        $Receiver = PACK("N*", $Receiver);
        $Title = iCONV("UTF-8", "UTF-16LE", $Title);
            $TitleLengh = StrLen($Title);
            if($TitleLengh < 128)
            {
                $TitleLengh = PACK("C*", $TitleLengh);
            }
            else
            {
                $TitleLengh = PACK("n*", $TitleLengh + 32768);
            }
        $Message = iconv("UTF-8", "UTF-16LE", $Message);
            $MessageLengh = strlen($Message);
            if($MessageLengh < 128)
            {
                $MessageLengh = PACK("C*", $MessageLengh);
            }
            else
            {
                $MessageLengh = PACK("n*", $MessageLengh + 32768);
            }
        $ItemID = PACK("N*", $ItemID);
        $Pos = "\x00\x00\x00\x00";
        $Count = PACK("N*", $Count);
        $Count_Max = PACK("N*", $Count_Max); 
        $Octets = PACK("H*", $Octets);
        $OctetsLenght = PACK("n*", strlen($Octets) + 32768); 
        $Proctype = PACK("N*", $Proctype);
        $Expire_date = PACK("N*", $Expire_date);
        $Guid1 = PACK("N*", $Guid1);
        $Guid2 = PACK("N*", $Guid2);
        $Mask = PACK("N*", $Mask);
        $Money = PACK("N*", $Money);
     
        $Packet = $tID.$SysID.$SysType.$Receiver.$TitleLengh.$Title.$MessageLengh.$Message.$ItemID.$Pos.$Count.$Count_Max.$OctetsLenght.$Octets.$Proctype.$Expire_date.$Guid1.$Guid2.$Mask.$Money;
            $PacketLenght = strlen($Packet);
            if($PacketLenght < 128)
            {
                $PacketLenght = PACK("C*", $PacketLenght);
            }
            else
            {
                $PacketLenght = PACK("n*",$PacketLenght + 32768);
            }
    
        $Packet = "\x90\x76".$PacketLenght.$Packet;
    
        $Socket = SOCKET_CREATE(AF_INET, SOCK_STREAM, SOL_TCP);
        if(!$Socket)
        {
                die(SOCKET_STRERROR(SOCKET_LAST_ERROR()));
        }
        if(SOCKET_CONNECT($Socket,'127.0.0.1',29100))
        {
            SOCKET_SET_BLOCK($Socket);
            if (false !== ($sBytes = SOCKET_SEND($Socket,$Packet,8192,0)))
            {
            }
            else
            {
                $ERR = 1;
            }
            if (false !== ($rBytes = SOCKET_RECV($Socket,$BUF,8192,0)))
            {
            }
            else
            {
                $ERR = 2;
            }
            SOCKET_SET_NONBLOCK($Socket);
            SOCKET_CLOSE($Socket);
        }
        else
        {
            $ERR = 3;
        }
     
        return $ERR;
    }
    
    
                    if($vote_count == 1)    SysSendMail("$User_ID", "Почта преисподни", "Спасибо, что проголосовали.", "$itemid", "$voice", "$maxcount", "$octets", "$proctype", "$date", 0, 0, "$mask", "$money");
                    if($vote_count == 2)    SysSendMail("$User_ID", "Почта преисподни", "Спасибо, что проголосовали.", "$itemid", "$smsvoice", "$maxcount", "$octets", "$proctype", "$date", 0, 0, "$mask", "$money");
    }     
    }
     
    echo <<<HTML
    <style>
    input[type='text'],select,textarea
        {
        outline-style:none;
        }
    form {
        margin:20;
        }
    a    {
        text-decoration:none;
        }
    a:hover
        {
        color:rgba(159,182,205,1.0);
        }
    </style>
    <form method='post'>
    </form>
    HTML;
    ?>
    --- добавлено: 28 ноя 2013 в 19:29 ---
    Сделал отдельный скрипт такого вида, все данные с лога в базу заносит. Но только английские. Осталось присунуть сюда функцию отправки... корректно... пока работает без ошибок
    Код:
    <?php
    
    //////////////////////////////////////////////////////////////////////////////////////
    $DBHost = "localhost";                                    // localhost or your IP  //
    $DBUser = "*";                                        // Database user          //
    $DBPassword = "*";                                  // Database password      //
    $DBName = "*";                                          // Database name          //
    $voice = "*";                                          // Обычный голос          //
    $smsvoice = "1";                                        // СМС голос              //
    //////////////////////////////////////////////////////////////////////////////////////
    
    // адресс к файлу лога на mmotope
    $fcontent=file("*");
    
    function dbconnect ()
    {
      global $DBHost,$DBUser,$DBPassword,$DBName;
        ///////Start Open MySQL-connection///////////////////
        $openConndb = mysql_connect( $DBHost, $DBUser, $DBPassword );
        $dbSelected = mysql_select_db( $DBName, $openConndb );
        setlocale(LC_ALL, 'ru_RU.utf-8');
        mysql_query("SET character_set_results='utf8'");
        mysql_query("SET NAMES 'utf8'");
        /////////End Open MySQL-connection/////////////////////
        return $openConndb;
    }
    
    $content = @file_get_contents($linkstat);
    $massive=explode("\n", $content);
    for($j=0;$j<sizeof($fcontent);$j++)
    {
      $temp=explode("\t",$fcontent[$j]);
      $vote_id  = (int)trim($temp[0]);
      $vote_time = trim($temp[1]);
    
      $vote_time = explode(" ",$vote_time);
      $temp1 = explode(".",$vote_time[0]);
      $vote_time = $temp1[2]."-".$temp1[1]."-".$temp1[0]." ".$vote_time[1];
    
      $vote_ip  = trim($temp[2]);
      $vote_char_name = strtolower(trim($temp[3]));
      $vote_count    = (int)trim($temp[4]);
    
    if(strlen($vote_char_name) <= 0)
          continue;
    $loginquery = MySQL_Query("select `name` from `users` WHERE `name`='$vote_char_name'", dbconnect());
      $login = mysql_num_rows($loginquery) ? mysql_result($loginquery, 0,'name') : '';
      if($login == $vote_char_name) {
    
      $query = "SELECT vote_id FROM mmotop WHERE vote_id = ".$vote_id;
      $result = mysql_query($query, dbconnect());
      $row=mysql_fetch_row($result);
      if($row[0])
          continue;
    
      $mysqlresult=MySQL_Query("select * from `users` WHERE `name`='$vote_char_name'", dbconnect());
      $User_ID=MySQL_result($mysqlresult,0,'ID');
    
      $query = "INSERT INTO mmotop (vote_id,vote_time,vote_ip,vote_char_name,vote_count) VALUES ('".$vote_id."','".$vote_time."','".$vote_ip."','".mysql_escape_string($vote_char_name)."','".$vote_count."')";
      $result = mysql_query($query, dbconnect());
      
    }
    }
    
    ?>
    Последнее редактирование модератором: 6 дек 2013
  17. pilad Команда форума Модератор Пользователи

    Сообщения:
    1.740
    Лайки:
    480
    Пол:
    Мужской
    Репутация:
    1
    Команда:
    Freeman
    Меня вот напрягает :
    $content = @file_get_contents($linkstat);
    Откуда эта переменная берётся? $linkstat

    Вот это убрать вообще:

    echo <<<HTML
    <style>
    input[type='text'],select,textarea
    {
    outline-style:none;
    }
    form {
    margin:20;
    }
    a {
    text-decoration:none;
    }
    a:hover
    {
    color:rgba(159,182,205,1.0);
    }
    </style>
    <form method='post'>
    </form>
    HTML;

    И в конце закрыть ?>
  18. TopicStarter Overlay

    maestro199 Пользователи

    Сообщения:
    320
    Лайки:
    53
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    AsteriaOnline
    Закрыл, хтмл убрал, ошибка ссылается на тот же самый параметр.
  19. pilad Команда форума Модератор Пользователи

    Сообщения:
    1.740
    Лайки:
    480
    Пол:
    Мужской
    Репутация:
    1
    Команда:
    Freeman
    Сам скрипт отправки взят вот этот судя по всему...
    --- добавлено: 28 ноя 2013 в 19:50 ---
    И вот скобка , похоже её нету.
    Последнее редактирование модератором: 6 дек 2013
  20. TopicStarter Overlay

    maestro199 Пользователи

    Сообщения:
    320
    Лайки:
    53
    Пол:
    Мужской
    Репутация:
    0
    Команда:
    AsteriaOnline
    поделились скриптом с MyWeb видимо. Осталось додумать как сделать захват ИД перса с базы после получения ника с ммотопа. Ибо в базу заносится именно ИД, и отправка идет через него

    Вложения:

    • mmotop_item.zip
      Размер файла:
      2,3 КБ
      Просмотров:
      22
Черновик сохранён Черновик удалён
Similar Threads
  1. Oxxxy007
    Ответов:
    18
    Просмотров:
    4.150
  2. New-X
    Ответов:
    19
    Просмотров:
    2.765
  3. Besaba
    Ответов:
    1
    Просмотров:
    1.165
  4. Sonter
    Ответов:
    2
    Просмотров:
    2.153
  5. • System
    Ответов:
    1
    Просмотров:
    3.149
Загрузка...
Статус темы:
Закрыта.

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