06-24-2008, 09:18 PM
Сборка L2J Server Hellbound скрипт бонусного голосования, выдает вот такую ошибку Parse error: syntax error, unexpected T_STRING in /.../.../public_html/l2top.php on line 71
Скрипт:
Таблица:
Структура таблицы items:
Структура таблицы characters:
В чём проблема подскажите?
До этого на интерлюд сборки от другой команды скрипт работал нормально, шас провозился с ним много времени и всё бестолку.
Скрипт:
Цитата:<?php
$host = "lokalhost";
$login = "root";
$db = "l2jdb";
$pass = "pass";
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td valign="top" align="center" class=line_up><table border="0" cellspacing="2" cellpadding="2">
<tr>
<td valign="top"><div class=title_stat>Получи адену за голосование в топе!</div></td>
</tr>
</table>
</td>
</tr>
</table><br />
<?php
$cols_for_vote = 10; // Это количество COL за 1 голос
if (isset($_POST['nick']))
{
$total = 0;
$your_ip = $_SERVER['REMOTE_ADDR'];
echo '<b>Ник вашего чара: </b>'.$_POST['nick'].'<br />';
echo '<b>Ваш ip: </b>'.$your_ip.'<br />';
$error = '';
$voters = array();
$link = mysql_connect($host, $login, $pass) or die("Could not connect : " . mysql_error());
mysql_select_db($db) or die("Could not connect : " . mysql_error());
mysql_query ("set NAMES cp1251");
$result = mysql_query("SELECT `obj_Id` FROM `characters` WHERE `char_name` = '".mysql_escape_string($_POST['nick'])."'");
$row = mysql_fetch_assoc($result);
if ($row == array())//есть ли такой чар вообще
$error .= 'Нет чара с таким именем!<br />';
else
{
$char_id = $row['obj_Id'];
$html = @file_get_contents('http://l2top.ru/?servID=1111&act=info');
if (!$html || !preg_match_all('/<td><a href=\'[^\']+\'>([^<]+)<\/a><\/td>\s+<td>([^<]+)<\/td>/', $html, $matches))
$error .= 'Не удалось получить информацию с l2top.ru!<br/>';
else
{
foreach ($matches[1] as $id => $ip)
{
if ($ip == $your_ip)
$voters[] = $matches[2][$id];
}
if ($voters != array())
{
foreach ($voters as $time)
{
$result = mysql_query("SELECT * FROM `l2top` WHERE `ip` = '".mysql_escape_string($your_ip)."' 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 `items` (`owner_id`, `object_id`, `item_id`, `count`, `enchant_level`, `loc`, `loc_data`, `time_of_use`, `custom_type1`, `custom_type2`, `mana_left`)
VALUES(".$ins_id.", ".mysql_escape_string($char_id).", 4037, ".$cols_for_vote.", 0, 'INVENTORY', 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` = 4037");
mysql_query("INSERT INTO `l2top` (`nick`, `ip`, `time`) VALUES ('".mysql_escape_string($_POST['nick'])."', '".mysql_escape_string($your_ip)."', '".mysql_escape_string($time)."')");
$total += $cols_for_vote;
$error .= 'Голос за '. $time.' засчитан!<br/>';
}
else
$error .= 'Голос за '. $time.' уже был засчитан ранее!<br/>';
}
}
else
$error .= 'Вы НЕ голосовали!<br>';
}
}
echo $error.'<b>'.$total.'</b> COL добавлено вашему чару!<br/><a href="http://.../l2top.php">Назад</a>';
}
else
{
?>
<form method="POST" action="http://.../l2top1.php">
<b>1. <a href="http://l2top.ru/?voteme=1111" target="_blank">Проголосуйте на L2Top</a></b>
<br />
<a href="http://l2top.ru/?voteme=1111" target="_blank"><img style="filter:alpha(opacity=50); opacity:0.5; -moz-opacity:0.5;" src="http://l2top.ru/catalog/top.php?id=1111" width="88" height="31" border="0" alt="L2top.ru: Рейитинг-каталог серверов Lineage2" ></a>
<br /><br />
<b>2.</b> Введите ник вашего чара:
<br />
<input type="text" name="nick" maxlength="25">
<br /><br />
<input type="submit" value="Получить Адену">
</form>
<?php
}
?>
<table width="100%" border="0" cellspacing="0" cellpadding="0">
<tr>
</tr>
</table>
Таблица:
Цитата:CREATE TABLE IF NOT EXISTS `l2top` (
`nick` VARCHAR(35) NOT NULL DEFAULT '',
`ip` varchar(45)NOT NULL default '0',
`time` int(18 ) NOT NULL default '0'
) ENGINE=MyISAM;
Структура таблицы items:
Цитата:SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for items
-- ----------------------------
CREATE TABLE `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(3,0) NOT NULL default '-1',
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`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records
-- ----------------------------
INSERT INTO `items` VALUES ('268483412', '268483415', '10', '1', '0', 'INVENTORY', '0', null, '0', '0', '-1');
Структура таблицы characters:
Цитата:SET FOREIGN_KEY_CHECKS=0;
-- ----------------------------
-- Table structure for characters
-- ----------------------------
CREATE TABLE `characters` (
`account_name` varchar(45) default NULL,
`charId` int(10) unsigned NOT NULL default '0',
`char_name` varchar(35) NOT NULL,
`level` tinyint(3) unsigned default NULL,
`maxHp` mediumint(8) unsigned default NULL,
`curHp` mediumint(8) unsigned default NULL,
`maxCp` mediumint(8) unsigned default NULL,
`curCp` mediumint(8) unsigned default NULL,
`maxMp` mediumint(8) unsigned default NULL,
`curMp` mediumint(8) unsigned default NULL,
`face` tinyint(3) unsigned default NULL,
`hairStyle` tinyint(3) unsigned default NULL,
`hairColor` tinyint(3) unsigned default NULL,
`sex` tinyint(3) unsigned default NULL,
`heading` mediumint(9) default NULL,
`x` mediumint(9) default NULL,
`y` mediumint(9) default NULL,
`z` mediumint(9) default NULL,
`exp` bigint(20) unsigned default '0',
`expBeforeDeath` bigint(20) unsigned default '0',
`sp` int(10) unsigned NOT NULL default '0',
`karma` int(10) unsigned default NULL,
`pvpkills` smallint(5) unsigned default NULL,
`pkkills` smallint(5) unsigned default NULL,
`clanid` int(10) unsigned default NULL,
`race` tinyint(3) unsigned default NULL,
`classid` tinyint(3) unsigned default NULL,
`base_class` tinyint(3) unsigned NOT NULL default '0',
`transform_id` smallint(5) unsigned NOT NULL default '0',
`deletetime` bigint(20) default NULL,
`cancraft` tinyint(3) unsigned default NULL,
`title` varchar(16) default NULL,
`rec_have` tinyint(3) unsigned NOT NULL default '0',
`rec_left` tinyint(3) unsigned NOT NULL default '0',
`accesslevel` mediumint(9) default '0',
`online` tinyint(3) unsigned default NULL,
`onlinetime` int(11) default NULL,
`char_slot` tinyint(3) unsigned default NULL,
`newbie` mediumint(8) unsigned default '1',
`lastAccess` bigint(20) unsigned default NULL,
`clan_privs` mediumint(8) unsigned default '0',
`wantspeace` tinyint(3) unsigned default '0',
`isin7sdungeon` tinyint(3) unsigned NOT NULL default '0',
`in_jail` tinyint(3) unsigned default '0',
`jail_timer` int(10) unsigned default '0',
`power_grade` tinyint(3) unsigned default NULL,
`nobless` tinyint(3) unsigned NOT NULL default '0',
`subpledge` smallint(6) NOT NULL default '0',
`last_recom_date` bigint(20) unsigned NOT NULL default '0',
`lvl_joined_academy` tinyint(3) unsigned NOT NULL default '0',
`apprentice` int(10) unsigned NOT NULL default '0',
`sponsor` int(10) unsigned NOT NULL default '0',
`varka_ketra_ally` tinyint(4) NOT NULL default '0',
`clan_join_expiry_time` bigint(20) unsigned NOT NULL default '0',
`clan_create_expiry_time` bigint(20) unsigned NOT NULL default '0',
`death_penalty_level` smallint(5) unsigned NOT NULL default '0',
PRIMARY KEY (`charId`),
KEY `clanid` (`clanid`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- ----------------------------
-- Records
-- ----------------------------
INSERT INTO `characters` VALUES ('akk', '268483412', 'akk', '13', '396', '396', '167', '167', '136', '136', '0', '0', '0', '0', '35514', '188487', '20659', '-3695', '152190', '0', '13923', '0', '0', '0', '0', '0', '0', '0', '0', '0', '0', '', '0', '3', '1', '0', '7141', null, '1', '1214324786156', '0', '0', '0', '0', '0', '0', '0', '0', '1214298696703', '0', '0', '0', '0', '0', '0', '0');
В чём проблема подскажите?
До этого на интерлюд сборки от другой команды скрипт работал нормально, шас провозился с ним много времени и всё бестолку.