Проблема со скриптом l2top - Форум администраторов игровых серверов
Форум администраторов игровых серверов StormWall - Защита от DDos атак
Регистрация Мнения Справка Пользователи Календарь Все разделы прочитаны
Вернуться   Форум администраторов игровых серверов > MMO > Lineage II > Движки сайтов (CMS)

Движки сайтов (CMS)
Обсуждения, решения проблем веб обвязок для ява сервера.

Ответ
Опции темы
Непрочитано 16.05.2010, 12:20   #1
Пользователь

Автор темы (Топик Стартер) Проблема со скриптом l2top

При попытке получения бонуса за голосование в l2top выдает ошибку:
Код:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in C:\Program Files (x86)\AppServ\www\vote2\l2top.php on line 53
Конфиг настроен верно.
Вот код самого скрипта:
Код:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=WINDOWS-1251">
<link href="/vote2/style.css" rel="stylesheet" type="text/css">
<title>
Страница для получения бонуса за голосование
</title>
</head>
<body>
<br>
<center>
<div class="header">Проголосуй за сервер и получи бонус</div>

<?
require_once 'core/config.php';

$start= "
<center><table border='0' cellspacing='0' cellpadding='0'>
<tr>
<td class ='login_box'><center>
<span class= 'login_text'>
1.Проголосуйте на L2Top</span><br>
<a href='http://l2top.ru/vote/".$config['id_top']."/' target='_blank'><img src='http://l2top.ru/vb/".$config['id_top'].".pgif' width='88' height='31' border='0' alt='L2top.ru: Рейтинг-каталог серверов Lineage2'></a><p>
<form action='".$config['url']."' method='post'>
2.Введите ник персонажа<br>
<input type='text' name='name'/><br><br>
<input type='submit' value='Получить бонус'/>
</form>
</td>
<td width='5%'></td>
<td class ='base_text'>
<strong><li>Имя персонажа может содержать только латинские буквы верхнего и нижнего регистра и цифры.</strong><br>
<strong><li>Для получения бонуса Ваш персонаж должен быть off-line.</strong><br>
<strong><li>После того, как проголосуете, подождите 3 минуты, пока Ваш голос появится в списке последних проголосовавшх.</strong><br>
</td>
</tr>
</table>
<div class='leger'><a href='http://l2steam.ru/'>Все права защищены, 2009</a></div>

";

connect();
if(!isset($_POST['name']))
  {
  echo $start;
  }
else
  {
  if(ereg("^([a-zA-Z0-9_-])*$", $_POST['name']))
  {
  $total=0;
  $name=mysql_escape_string($_POST['name']);
  $char_id_ar=mysql_fetch_assoc(mysql_query("SELECT `obj_Id` FROM `characters` WHERE `char_name` = '$name';"));
  if($char_id_ar!=array())
    {
    $char_id_ar=mysql_fetch_assoc(mysql_query("SELECT `obj_Id` FROM `characters` WHERE `char_name` = '$name' AND `online`=0;"));
    if($char_id_ar!=array())
    {
    $char_id_sql=mysql_escape_string($char_id_ar['obj_Id']);
    $bonus_id_sql=mysql_escape_string($config['bonus_id']);
    $numberous_sql=mysql_escape_string($config['numberous']);
    $html=@file_get_contents($config['url_info']);
    if ($html && preg_match_all('/([^\s]+)/', $html, $matches)) 
      {
      foreach ($matches[1] as $id => $nick)
        {
        if (strtolower($nick)===strtolower($name)) 
          {
          $voters[]=$matches[1][$id-2];
          }
        }
        if ($voters!=array())
          {
          foreach ($voters as $time)
            {
            $time_sql=mysql_escape_string($time);
            $array=mysql_fetch_assoc(mysql_query("SELECT * FROM `character_vote` WHERE `char_name` = '$name' AND `date` = '$time_sql';"));
            if ($array == array())
              {
              $array=mysql_fetch_assoc(mysql_query("SELECT * FROM `items` WHERE `owner_id` = '$char_id_sql' AND `item_id` = '$bonus_id_sql';"));
              if ($array == array())
                {
                $array=mysql_fetch_assoc(mysql_query("SELECT MAX(`object_id`)+1 AS `id` FROM `items`"));
                $ins_id=$array['id'];
                $SQL=mysql_query("INSERT INTO `items` (`owner_id`, `object_id`, `item_id`, `count`, `enchant_level`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`) VALUES('$char_id_sql', '$ins_id', '$bonus_id_sql', '$numberous_sql', 0, 'INVENTORY', 0, 0, 0, NULL, 0, 0, -1);");
                }
              else
                {
                $SQL=mysql_query("UPDATE `items` SET `count` = `count` + '$numberous_sql' WHERE `owner_id` = '$char_id_sql' AND `item_id` = '$bonus_id_sql';");
                }
              if ($SQL)
                {
                mysql_query("INSERT INTO `character_vote` (`char_name`, `date`) VALUES ('$name', '$time');");
                $total+=$config['numberous'];
                $log1="
                <br>
                Бонус за ".$time." зачислен.";
                echo $log1;
                }
              else
                {
                $error="Ошибка #4";
                echo "<br><font color='red'>Извините, к сожалению на данный момент этот сервис не доступен.<br>".$error."</font><br></center></body></html>";
                exit;
                }
              }
            else
              {
              $log2="
              <br>Вы уже полчили бонус за голос за ".$time;
              echo $log2;
              }
            }
          }
        else
          {
          $log3="
          <br><br>Извините, но к сожалению ваш голос на сайте L2Top.ru не найден.<br>
          Если вы только что проголосовали, то подождите в течении трёх минут, пока Ваш голос появится в списке последних проголосовавших. В ином случае, для получения бонуса, проголосуйте за сервер.<br>";
          echo $log3;
          }
      }
    else
      {
      $error="Ошибка #3";
      echo "<br><font color='red'>Извините, к сожалению на данный момент этот сервис не доступен.<br>".$error."</font><br></center></body></html>";
      exit;
      }
    }
    else
    {
    $log5="
    <br><br>Для зачисления бонуса Ваш персонаж должен быть <b>off-line</b>. </center></body></html>";
    echo $log5;
    exit;
    }
    }
  else
    {
    $log4="
    <br><br>Персонажа с таким именем не существует. Повторите попытку. </center></body></html>";
    echo $log4;
    exit;
    }
  echo "<br><b>На вашего персонажа зачислено ".$total." ".$config['name'].".</b>";
  }
  else
  {
  $log4="
  <br><br>Персонажа с таким именем не существует. Повторите попытку. </center></body></html>";
  echo $log4;
  exit;  
  }
  }  
?> 

</center>
</body>
</html>
Я думаю проблема вот в чем:
Код:
  $char_id_ar=mysql_fetch_assoc(mysql_query("SELECT `obj_Id` FROM `characters` WHERE `char_name` = '$name';"));
  if($char_id_ar!=array())
    {
    $char_id_ar=mysql_fetch_assoc(mysql_query("SELECT `obj_Id` FROM `characters` WHERE `char_name` = '$name' AND `online`=0;"));
Берется значение obj_Id из таблицы characters, хотя там такого столбца нету, он есть в таблице items.
Не подскажите как бы это все пофиксить?
Ссылка на скачивание скрипта: http://l2cantstop.ru/497_l2top.ruv2.00ja.rar
IceTony вне форума Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Изменения в Л2топ, помогите со скриптом vasia_pup Движки сайтов (CMS) 0 19.01.2010 20:35
Поделитесь скриптом для л2топ Fallen angel Движки сайтов (CMS) 0 01.09.2009 14:16
Помогите с скриптом deadked Работа со скриптами 3 12.06.2009 01:13
Помогите с скриптом для Wallkera Abaka Ботоводство 1 12.11.2008 08:36
Бонус голосование, проблема со скриптом. L2J Server KeMnS Lineage II 2 24.06.2008 22:17


© 2007–2019 «Форум администраторов игровых серверов»
Защита сайта от DDoS атак — StormWall
Работает на Булке неизвестной версии с переводом от zCarot
Текущее время: 20:59. Часовой пояс GMT +3.

Вверх