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

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

Ответ
Опции темы
Непрочитано 18.11.2009, 04:53   #31
Пользователь

По умолчанию Re: L2Top, поощрение за голосование

У меня написано что зачислен голос за голосование ,а вверху летят ошибки какийто .

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in P:\home\109.86.217.125\www\l2top.php on line 120

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in P:\home\109.86.217.125\www\l2top.php on line 144

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in P:\home\109.86.217.125\www\l2top.php on line 149
semiromid вне форума Ответить с цитированием
Непрочитано 18.11.2009, 09:38   #32
Аватар для FXAntiXrist
Пользователь

По умолчанию Re: L2Top, поощрение за голосование

Ты таблицу l2top создал?

При проблемах с MySQL (supplied argument is not a valid MySQL result resource) под строкой, где произошла ошибка, надо вывести на экран mysql_error() и сам запрос - для визуального контроля и копирования на форум.
__________________
FXAntiXrist вне форума Ответить с цитированием
Непрочитано 18.11.2009, 10:21   #33
Аватар для DioNiR
Пользователь

По умолчанию Re: L2Top, поощрение за голосование

semiromid, у меня вопрос, какой ты из приведёных кодов использовал?
Ни в одном из тех примеров не может быть ошибок что у тебя.
__________________
Человек человеку друг, а зомби зомби зомби
DioNiR вне форума Ответить с цитированием
Непрочитано 18.11.2009, 13:50   #34
Пользователь

По умолчанию Re: L2Top, поощрение за голосование

Таблицу которую написал "Fulljack" ,я и использовал .

Но Там не подходила эта строка к моей базе

Таблица скрипта
Цитата:
mysql_query("INSERT INTO `items` (`object_id`, `owner_id`, `item_id`, `name`, `count`, `enchant_level`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`)

Таблица моей базы
Цитата:
CREATE TABLE IF NOT EXISTS `items` (
`owner_id` int(11) DEFAULT NULL,
`object_id` int(11) NOT NULL DEFAULT '0',
`item_id` int(11) DEFAULT NULL,
`count` int(11) DEFAULT NULL,
`enchant_level` int(11) DEFAULT NULL,
`loc` varchar(10) DEFAULT NULL,
`loc_data` int(11) DEFAULT NULL,
`time_of_use` int(11) DEFAULT NULL,
`custom_type1` int(11) DEFAULT '0',
`custom_type2` int(11) DEFAULT '0',
`mana_left` decimal(5,0) NOT NULL DEFAULT -1,
`attributes` varchar(50) DEFAULT '',
PRIMARY KEY (`object_id`),
KEY `key_owner_id` (`owner_id`),
KEY `key_loc` (`loc`),
KEY `key_item_id` (`item_id`),
KEY `key_time_of_use` (`time_of_use`)
) DEFAULT CHARSET=utf8;
Я решил поменять таблицу в базе ,и в запросе этого скрипта .И получились вот такие таблицы .


Таблица скрипта
mysql_query("INSERT INTO `items` (`object_id`, `owner_id`, `item_id`, `name`, `count`, `enchant_level`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`, attributes)

Таблица базы

CREATE TABLE IF NOT EXISTS `items` (
`owner_id` int(11) DEFAULT NULL,
`object_id` int(11) NOT NULL DEFAULT '0',
`item_id` int(11) DEFAULT NULL,
`count` int(11) DEFAULT NULL,
`enchant_level` int(11) DEFAULT NULL,
`loc` varchar(10) DEFAULT NULL,
`loc_data` int(11) DEFAULT NULL,
`price_sell` int(11) DEFAULT NULL,
`price_buy` int(11) DEFAULT NULL,
`time_of_use` int(11) DEFAULT NULL,
`custom_type1` int(11) DEFAULT '0',
`custom_type2` int(11) DEFAULT '0',
`mana_left` decimal(5,0) NOT NULL DEFAULT -1,
`attributes` varchar(50) DEFAULT '',
PRIMARY KEY (`object_id`),
KEY `key_owner_id` (`owner_id`),
KEY `key_loc` (`loc`),
KEY `key_item_id` (`item_id`),
KEY `key_time_of_use` (`time_of_use`)
) DEFAULT CHARSET=utf8;

L2top запрос взял с первой страницы .

Цитата:
CREATE TABLE `l2top` (
`id` int(10) NOT NULL AUTO_INCREMENT,
`nick` varchar(30) NOT NULL,
`ip` varchar(20) NOT NULL,
`time` varchar(20) NOT NULL,
`date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;



После добовления L2top таблицы в базу по запросу с первой странице, стали вылетать только 2-е строчки.

Цитата:
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in P:\home\109.86.217.125\www\l2top.php on line 120

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in P:\home\109.86.217.125\www\l2top.php on line 149
В таблицу L2top идет запись ,но итем чару не добовляется .




Цитата:
При проблемах с MySQL (supplied argument is not a valid MySQL result resource) под строкой, где произошла ошибка, надо вывести на экран mysql_error() и сам запрос - для визуального контроля и копирования на форум

Но в скрипте l2top.php там только 101 линия .Там нету l2top.php on line 120 ................

Последний раз редактировалось semiromid; 18.11.2009 в 15:28.
semiromid вне форума Ответить с цитированием
Непрочитано 18.11.2009, 15:39   #35
Аватар для FXAntiXrist
Пользователь

По умолчанию Re: L2Top, поощрение за голосование

Цитата:
Таблица скрипта
mysql_query("INSERT INTO `items` (`object_id`, `owner_id`, `item_id`, `name`, `count`, `enchant_level`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`, attributes)

Таблица базы

CREATE TABLE IF NOT EXISTS `items` (
`owner_id` int(11) DEFAULT NULL,
`object_id` int(11) NOT NULL DEFAULT '0',
`item_id` int(11) DEFAULT NULL,
`count` int(11) DEFAULT NULL,
`enchant_level` int(11) DEFAULT NULL,
`loc` varchar(10) DEFAULT NULL,
`loc_data` int(11) DEFAULT NULL,
`price_sell` int(11) DEFAULT NULL,
`price_buy` int(11) DEFAULT NULL,
`time_of_use` int(11) DEFAULT NULL,
`custom_type1` int(11) DEFAULT '0',
`custom_type2` int(11) DEFAULT '0',
`mana_left` decimal(5,0) NOT NULL DEFAULT -1,
`attributes` varchar(50) DEFAULT '',
PRIMARY KEY (`object_id`),
KEY `key_owner_id` (`owner_id`),
KEY `key_loc` (`loc`),
KEY `key_item_id` (`item_id`),
KEY `key_time_of_use` (`time_of_use`)
) DEFAULT CHARSET=utf8;
если пересчитать, то не совпадает колво параметров в запросе с количеством столбцов в твоей таблице. В таблице нет поля 'name' и тем не менее, ты пытаешься туда чтото записать
__________________
FXAntiXrist вне форума Ответить с цитированием
Непрочитано 18.11.2009, 15:50   #36
Пользователь

По умолчанию Re: L2Top, поощрение за голосование

Только что я уже это понял ,и залил правильно таблицу .

Цитата:
-- -------------------------
-- Table structure for items
-- -------------------------
CREATE TABLE IF NOT EXISTS `items` (
`owner_id` int(11) DEFAULT NULL,
`object_id` int(11) NOT NULL DEFAULT '0',
`item_id` int(11) DEFAULT NULL,
`name` VARCHAR(45) DEFAULT NULL,
`count` int(11) DEFAULT NULL,
`enchant_level` int(11) DEFAULT NULL,
`loc` varchar(10) DEFAULT NULL,
`loc_data` int(11) DEFAULT NULL,
`price_sell` int(11) DEFAULT NULL,
`price_buy` int(11) DEFAULT NULL,
`time_of_use` int(11) DEFAULT NULL,
`custom_type1` int(11) DEFAULT '0',
`custom_type2` int(11) DEFAULT '0',
`mana_left` decimal(5,0) NOT NULL DEFAULT -1,
`attributes` varchar(50) DEFAULT '',
PRIMARY KEY (`object_id`),
KEY `key_owner_id` (`owner_id`),
KEY `key_loc` (`loc`),
KEY `key_item_id` (`item_id`),
KEY `key_time_of_use` (`time_of_use`)
) DEFAULT CHARSET=utf8;
Всеровно не добовляется итем ,и вылитают две строчки
Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in P:\home\109.86.217.125\www\l2top.php on line 120

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource in P:\home\109.86.217.125\www\l2top.php on line 149


Там еще ошибка была

Стояли на оборот
Цитата:
`owner_id` int(11) DEFAULT NULL,
`object_id` int(11) NOT NULL DEFAULT '0',
Теперь так эта таблица выглидит в скрипте
Цитата:
mysql_query("INSERT INTO items (owner_id, object_id, item_id, name, count, enchant_level, loc, loc_data, price_sell, price_buy, time_of_use, custom_type1, custom_type2, mana_left, attributes)
Добавлено через 3 часа 23 минуты
Кто подскаджет что это значит ?

www/l2top.php on line 41
Не удалось получить информацию с L2Top.ru!

0 Coin of Luck зачислено вашему персонажу!

Цитата:
<?

if(!isset($_POST['name'])){

echo '<form action="l2top.php" method="post">';

echo 'Ник персонажа<br/>
<input type="text" name="name"/><br/><br/>
<input type="submit" value="Получить бонус"/>

</form>';


}else{

$bonus_id=4037; // ID вещи которую зачисляем игроку как бонус за голосование | По умолчанию 4037 - Coin of Luck
$cols_for_vote=20; // Колличество зачисляемых вещей за одно голосование
$id_l2top=====; // Ваш ID в рейтинге L2Top
$cols_name='Coin of Luck';//название бонуса
$host='===='; // сервер на котором установлена база данных L2J
$user='root'; // имя пользователя от базы данный
$pass='===='; // пароль пользователя от базы данный
$db='====='; // название базы данных

$mc = mysql_connect($host, $user, $pass);
if($mc){
$db = mysql_select_db ($db);
}

if(!$mc || !$db){

echo 'Нет соединения с базой данных.';

exit;

}

$name=mysql_escape_string($_POST['name']);

$ch=mysql_query("SELECT obj_Id FROM characters WHERE char_name = '$name';");
$chd=mysql_fetch_assoc($ch);

$char_id=$chd['obj_Id'];
$total=0;
$your_ip = $_SERVER['REMOTE_ADDR'];
$dip=explode('.',$your_ip);
$your_ip1 = $dip[0].'.'.$dip[1].'.'.$dip[2].'.xxx';

$html = @file_get_contents('http://l2top.ru/?servID='.$id_l2top.'&act=info');
if (!$html || !preg_match_all('/<td>([^<]+)<\/td>/', $html, $matches))
$error .= 'Не удалось получить информацию с L2Top.ru!<br/>';
else
{
foreach ($matches[1] as $id => $nick)
{
if (strtolower(trim($nick))==strtolower(trim($name))) {
$voters[] = $matches[1][$id-2];
}
}
if ($voters != array())
{
foreach ($voters as $time)
{
$result = mysql_query("SELECT * FROM `l2top` WHERE `nick` = '".mysql_escape_string($name)."' AND `time` = '".mysql_escape_string($time)."'");
$row = mysql_fetch_assoc($result);
if ($row == array())
{
$result = mysql_query("SELECT * FROM `items` WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = 4037");
$row = mysql_fetch_assoc($result);
if ($row == array())
{
$result = mysql_query("SELECT MAX(`object_id`)+1 AS `id` FROM `items`");
$row = mysql_fetch_assoc($result);
$ins_id = $row['id'];
/*
mysql_query("INSERT INTO `items` (`owner_id`, `object_id`, `item_id`, `name`, `count`, `enchant_level`, `loc`, `loc_data`, `price_sell`, `price_buy`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`,`attributes`)
VALUES(".mysql_escape_string($char_id).", ".$ins_id.", $bonus_id, ".$cols_for_vote.", 0, 'INVENTORY', 0, 0, 0, NULL, 0, 0, -1,)");
данный запрос необходимо переделывать взависимости от того, какая структура таблицы items у вас на сборке сервера. Данный запрос отвечает за добавление бонусной вещи за голосование в инвентарь, если у вас её еще нет.
*/
mysql_query("INSERT INTO items (owner_id, object_id, item_id, name, count, enchant_level, loc, loc_data, price_sell, price_buy, time_of_use, custom_type1, custom_type2, mana_left, attributes)
VALUES('".mysql_escape_string($char_id)."', '".$ins_id."', '$bonus_id', 'name', '$cols_name', '".$cols_for_vote."', '0', 'INVENTORY', '0', '0', '0', 'NULL', '0', '0', '-1')");
}
else
mysql_query("UPDATE `items` SET `count` = `count` + ".$cols_for_vote." WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = '".$bonus_id."'");
mysql_query("INSERT INTO `l2top` (`nick`, `ip`, `time`) VALUES ('".$name."', '".mysql_escape_string($your_ip1)."', '".mysql_escape_string($time)."')");
$total += $cols_for_vote;
$error .= 'Голос за '. $time.' зачислен.<br/>';
}
else
$error .= 'Голос за '. $time.' уже был зачислен.<br/>';
}
}
else
$error .= 'Ваш голос на сайте L2Top.ru не найден.<br>';
}

echo $error.'<br><b>'.$total.'</b> Coin of Luck зачислено вашему персонажу!<br/>';

}

?>
Добавлено через 12 часов 19 минут
После этих не удачных попыток ,решил попробывать азгрузить новый скрипт .И возникла такая проблема .Голосую приз записывается в L2top таблицу .Но в инвентарь не добовляется (((

Вот сам скрипт

Цитата:
<style>
body {
margin: 0px;
margin-left:10px;
font-family:arial,sans-serif;
background-color: #ffffff;
font-size: 80%;
}

.header {
font-family:"Times New Roman", Times, serif;
font-size:23px;
text-align:;
border-bottom:1px solid #000;
font-weight:bold;

}
.login_box{
width:200px;
height:200px;
margin-left:10px;
margin-top:10px;
background:#ddf8cc;
border:1px solid #bbbbbb;


}
.login_text{
font-family:Arial, Helvetica, sans-serif;
font-size:16px;

}
.base_text{
margin-left:15px;
font-size:15px;

}
.exit{
margin-left:10px;
margin-top:10px;
text-align:center;
background:#ddf8cc;
border:1px solid #bbbbbb;


}

</style>
<meta http-equiv="Content-Type" content="text/html; charset=WINDOWS-1251">


<br>
<?
if(!isset($_POST['name']))

{
echo "<table width='90%' align ='right' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td class ='header'>Проголосуй за сервер и получи Бонус
</td>
</tr>
</table><br><br>";
echo "<table width='70%' 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/10220/' target='_blank'><img src='http://l2top.ru/vb/1.pgif' width='88' height='31' border='0' alt='L2top.ru: Рейтинг-каталог серверов Lineage2'></a><p>
<form action='index.php?id=l2top' 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'>

<span>Важно: для правильного зачисления ник персонажа должен соответстовать нику в игре<br>
<strong><li>Ник чара A-Za-z.</strong><br> Ваш чар не должен содержать спец символов.<br>
<strong><li>Оффлайн</strong><br>
Для зачисления бонуса ваш чар должен находится <font color='red'><strong>off-line</strong></font>.<br>





</td>
</tr>
</table>
";




}else{

$id_l2top=вставил; // Ваш ID в рейтинге L2Top
$bonus_id=4037; // ID вещи которую зачисляем игроку как бонус за голосование | По умолчанию 6673 - Festival Adena
$cols_for_vote=9; // Колличество зачисляемых вещей за одно голосование

$host='Мой Ip'; // сервер на котором установлена база данных L2J
$user='root'; // имя пользователя от базы данный
$pass='Мой пароль'; // пароль пользователя от базы данный
$db='emurt_db'; // название базы данных

$mc = mysql_connect($host, $user, $pass);
if($mc){
$db = mysql_select_db ($db);
}

if(!$mc || !$db){

echo 'Нет соединения с базой данных.';

exit;

}
$name=mysql_escape_string($_POST['name']);

$ch=mysql_query("SELECT obj_Id FROM characters WHERE char_name = '$name';");
$chd=mysql_fetch_assoc($ch);

$char_id=$chd['obj_Id'];
$total=0;
$your_ip = $_SERVER['REMOTE_ADDR'];
$dip=explode('.',$your_ip);
$your_ip1 = $dip[0].'.'.$dip[1].'.'.$dip[2].'.xxx';

$html = @file_get_contents('http://l2top.ru/info/'.$id_l2top.'/');
if (!$html || !preg_match_all('/<td>([^<]+)<\/td>/', $html, $matches))
$error .= 'Не удалось получить информацию с L2Top.ru!<br/>';
else
{
foreach ($matches[1] as $id => $nick)
{
if (strtolower(trim($nick)) === strtolower(trim($name))) {
$voters[] = $matches[1][$id-2];
}
}
if ($voters != array())
{
foreach ($voters as $time)
{
$result = mysql_query("SELECT * FROM `l2top` WHERE `nick` = '".mysql_escape_string($name)."' AND `time` = '".mysql_escape_string($time)."'");
$row = mysql_fetch_assoc($result);
if ($row == array())
{
$result = mysql_query("SELECT * FROM `items` WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = 4037");

$row = mysql_fetch_assoc($result);
if ($row == array())
{
$result = mysql_query("SELECT MAX(`object_id`)+1 AS `id` FROM `items`");
$row = mysql_fetch_assoc($result);
$ins_id = $row['id'];

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`, `attributes`);
VALUES(".mysql_escape_string($char_id).", ".$ins_id.", $bonus_id, ".$cols_for_vote.", 0, 'INVENTORY', 0, 0, 0, NULL, 0, 0, 0, 0)");
}
else
mysql_query("UPDATE `items` SET `count` = `count` + ".$cols_for_vote." WHERE `owner_id` = ".mysql_escape_string($char_id)." AND `item_id` = 4037");
mysql_query("INSERT INTO `l2top` (`nick`, `ip`, `time`) VALUES ('".$name."', '".mysql_escape_string($your_ip1)."', '".mysql_escape_string($time)."')");
$total += $cols_for_vote;





$error .= "

<table width='90%' align ='right' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td class ='header'>Проголосуй за сервер и получи Бонус
</td>
</tr>
</table><br><br>
<table class='exit' width='100%' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td>Голос за ". $time." зачислен.<br/>
<br><b>".$total."</b> Евро зачислено вашему персонажу!<br/>
</td></tr></table>";
}
else
$error .= "<table width='90%' align ='right' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td class ='header'>Проголосуй за сервер и получи Бонус
</td>
</tr>

<table class='exit' width='100%' border='0' cellspacing='0' cellpadding='0'>
<tr><br><br>
<td>

Голос за ". $time." уже был зачислен.<br/></td></tr></table>";
}
}
else
$error .= "<table width='90%' align ='right' border='0' cellspacing='0' cellpadding='0'>
<tr>
<td class ='header'>Проголосуй за сервер и получи Бонус
</td>
</tr>

<table class='exit' width='100%' border='0' cellspacing='0' cellpadding='0'>
<tr><br><br>
<td>
Ваш голос на сайте L2Top.ru не найден.<br></td></tr></table>";
}

echo $error."";

}
?>
</center>

А вот моя таблица items


Цитата:
-- -------------------------
-- Table structure for items
-- -------------------------
CREATE TABLE IF NOT EXISTS `items` (
`owner_id` int(11) DEFAULT NULL,
`object_id` int(11) NOT NULL DEFAULT '0',
`item_id` int(11) DEFAULT NULL,
`count` int(11) DEFAULT NULL,
`enchant_level` int(11) DEFAULT NULL,
`loc` varchar(10) DEFAULT NULL,
`loc_data` int(11) DEFAULT NULL,
`price_sell` int(11) DEFAULT NULL,
`price_buy` int(11) DEFAULT NULL,
`time_of_use` int(11) DEFAULT NULL,
`custom_type1` int(11) DEFAULT '0',
`custom_type2` int(11) DEFAULT '0',
`mana_left` decimal(5,0) NOT NULL DEFAULT -1,
`attributes` varchar(50) DEFAULT '',
PRIMARY KEY (`object_id`),
KEY `key_owner_id` (`owner_id`),
KEY `key_loc` (`loc`),
KEY `key_item_id` (`item_id`),
KEY `key_time_of_use` (`time_of_use`)
) DEFAULT CHARSET=utf8;
Подскажите в чем проблема

Последний раз редактировалось semiromid; 19.11.2009 в 04:09. Причина: Добавлено сообщение
semiromid вне форума Ответить с цитированием
Ответ


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

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

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

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


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

Вверх