Една задача с повишена трудност - оптимизиране на този скрипт.
Функцията му е да записва резултати в БД , писан и дописван 1000 пъти и сега има много излишен и грешен код.
Моля ви не ми се подигравайте кда е писан преди доста време.
Функцията му е да записва резултати в БД , писан и дописван 1000 пъти и сега има много излишен и грешен код.
Моля ви не ми се подигравайте кда е писан преди доста време.
PHP:
<h1>Добави сървър</h1>
<SCRIPT LANGUAGE="JavaScript">
</SCRIPT>
<?
$game=$_GET['gamemod'];
if($game!='cs1.6' && $game!='csgo' && $game!='cs1.5'&& $game!='ts3' && $game!='hl'&& $game!='cz' && $game!='ns'&& $game!='mc'&& $game!='source'&& $game!='samp'&& $game!='ventrilo')
{
echo "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=http://game-stats.eu/'>";
}else
{
if($_POST['submit']){
//captha
if(isset($_POST['setCaptcha'])){
include_once('captcha/cf.captcha.php');
if(!check_captcha($_POST['setCaptcha'])){
echo '<div class="erroe">'.$error_captcha.'</div>';
}else{
//end captcha
$game=$_GET['gamemod'];
$port = htmlspecialchars($_POST['port']);
$ip = htmlspecialchars($_POST['ip']);
$cid = htmlspecialchars($_POST['cid']);
if(!$cid)
{
$cid = 555555555;
}
$dop = htmlspecialchars($_POST['dop']);
$web = htmlspecialchars($_POST['web']);
$mail = $userName;
//////////////
if($cid==444)
{
echo '<div class="error">Моля изберете категория</div>';
}
else
{
//
if($ip=='46.233.27.49')
{
echo '<div class="error">Изчезвай мангал</div>';
}
else
{
if(!valid_ip($ip))
{
echo "<div class=\"error\"><font size='2'>Въведете валидно ИП!</div>";
}
else
{
if(!is_numeric($port)){
echo "<div class=\"error\"><font size='2'>Порта е невалиден!</div>";
}
elseif(!valid_url($web) and !empty($web)){
echo "<div class=\"error\"><font size='2'>URL-адреса е невалиден!</div>";
}
else{
$db->zaqvka("SELECT `sid` FROM `server` where `ip` = '$ip' and `port` = '$port'");
if($db->broi()<0){
echo "<div class=\"error\"><font size='2'>Този сървър е добавен от друг потребител!</div>";
}
else{
$time = time();
$hash = md5($time.$ip.$port);
$grdd = $_SESSION['user'];
$update = mysql_query("Update phpbb_users SET user_points=user_points+10 WHERE user='$grdd'");
$db->zaqvka("INSERT INTO `server` (
`play`,
imeto,
maxplay,
`karta`,
`cid`,
`status`,
`ip`,
`port`,
`type`,
`dop`,
`url`,
`mail`,
`game`,
`addedtime`)
VALUES
('0',
'ime',
'0',
'red',
'$cid',
'red',
'$ip',
'$port',
'$type',
'$dop',
'$web',
'$mail',
'$game',
'$time')
") or die($db->greshka());
$sql = mysql_query("SELECT * FROM server ORDER BY sid DESC LIMIT 1");
$row = mysql_fetch_array($sql);
$nowid=$row['sid'];
if($game=='hl')
{
$type='halflife';
$db->zaqvka("INSERT INTO `lgsl` (cache_time,`cache`,`id`,`sid`,`type`,`ip`,`c_port`,`q_port`) VALUES ('','','$nowid','$nowid','$type','$ip','$port','$port')") or die($db->greshka());
}
if($game=='cs1.6')
{
$type='halflife';
$db->zaqvka("INSERT INTO `lgsl` (cache_time,`cache`,`id`,`sid`,`type`,`ip`,`c_port`,`q_port`) VALUES ('','','$nowid','$nowid','$type','$ip','$port','$port')") or die($db->greshka());
}
if($game=='ventrilo')
{
$type='ventrilo';
$db->zaqvka("INSERT INTO `lgsl` (cache_time,`cache`,`id`,`sid`,`type`,`ip`,`c_port`,`q_port`) VALUES ('','','$nowid','$nowid','$type','$ip','$port','3784')") or die($db->greshka());
}
if($game=='mc')
{
$type='minecraft';
$db->zaqvka("INSERT INTO `lgsl` (cache_time,`cache`,`id`,`sid`,`type`,`ip`,`c_port`,`q_port`) VALUES ('','','$nowid','$nowid','$type','$ip','$port','$port')") or die($db->greshka());
}
if($game=='source')
{
$type='halflifewon';
$db->zaqvka("INSERT INTO `lgsl` (cache_time,`cache`,`id`,`sid`,`type`,`ip`,`c_port`,`q_port`) VALUES ('','','$nowid','$nowid','$type','$ip','$port','$port')") or die($db->greshka());
}
if($game=='samp')
{
$type='samp';
$db->zaqvka("INSERT INTO `lgsl` (cache_time,`cache`,`id`,`sid`,`type`,`ip`,`c_port`,`q_port`) VALUES ('','','$nowid','$nowid','$type','$ip','$port','$port')") or die($db->greshka());
}
if($game=='csgo')
{
$type='source';
$db->zaqvka("INSERT INTO `lgsl` (cache_time,`cache`,`id`,`sid`,`type`,`ip`,`c_port`,`q_port`) VALUES ('','','$nowid','$nowid','$type','$ip','$port','$port')") or die($db->greshka());
}
if($game=='cs1.5')
{
$type='halflifewon';
$db->zaqvka("INSERT INTO `lgsl` (cache_time,`cache`,`id`,`sid`,`type`,`ip`,`c_port`,`q_port`) VALUES ('','','$nowid','$nowid','$type','$ip','$port','$port')") or die($db->greshka());
}
if($game=='ts3')
{
$type='ts3';
$db->zaqvka("INSERT INTO `lgsl` (cache_time,`cache`,`id`,`sid`,`type`,`ip`,`c_port`,`q_port`) VALUES ('','','$nowid','$nowid','$type','$ip','$port','10011')") or die($db->greshka());
}
}
echo "<div class=\"info\"><font size='2'>Сървъра е добавен успешно!<font></div>";
}
}
}
}
}
}
}
?>
<table width="110%"><tr><td>
<table width="100%"><tr><td>
<br>
<center>Полетата означени с <font color="red">*</font> са задължителни!</center>
<form method="POST" action="" name="form1" OnSubmit="return proverka(this.ip);">
<table align="center">
<tr>
<td><font size="2">Игра : </td>
<td>
<?
if($game=='mc')
{
$game='mc';
?>
<div class="classic_input"><img src="http://game-stats.eu/iconsa/<?=$game?>.png"> Minecraft</div></td></tr>
<?
}
if($game=='csgo')
{
?>
<div class="classic_input"><img src="http://game-stats.eu/iconsa/<?=$game?>.png"> Counter Strike GO</div></td></tr>
<?
}
if($game=='hl')
{
$game='hl';
?>
<div class="classic_input"><img src="http://game-stats.eu/iconsa/<?=$game?>.png"> Half-Life</div></td></tr>
<?
}
if($game=='cs1.5')
{
$game='cs1.5';
?>
<div class="classic_input"><img src="http://game-stats.eu/iconsa/<?=$game?>.png"> Counter-Strike 1.5</div></td></tr>
<?
}
if($game=='samp')
{
$game='samp';
?>
<div class="classic_input"><img src="http://game-stats.eu/iconsa/<?=$game?>.png"> San Andreas Multiplayer</div></td></tr>
<?
}
if($game=='cz')
{
$game='cz';
?>
<div class="classic_input"><img src="http://game-stats.eu/iconsa/<?=$game?>.png"> Counter-Strike Condition Zero</div></td></tr>
<?
}
?>
<?
if($game=='ventrilo')
{
$game='ventrilo';
?>
<div class="classic_input"><img src="http://game-stats.eu/iconsa/<?=$game?>.png"> Ventrilo</div></td></tr>
<?
}
if($game=='ts3')
{
$game='ts3';
?>
<div class="classic_input"><img src="http://game-stats.eu/iconsa/<?=$game?>.png"> Teamspeak 3</div></td></tr>
<?
}
if($game=='cs1.6')
{
$game='cs1.6';
?>
<div class="classic_input"><img src="http://game-stats.eu/iconsa/<?=$game?>.png"> Counter-Strike 1.6</div></td></tr>
<?
}
if($game=='source')
{
$game='source';
?>
<div class="classic_input"><img src="http://game-stats.eu/iconsa/<?=$game?>.png"> Counter-Strike Source</div></td></tr>
<?
}
?>
<tr>
<td><font size="2">IP <font color="red">*</font>: </td>
<td><input size="34" class="classic_input" name="ip" type="text" value="<?=htmlspecialchars($_POST[ip])?>" messagename="първо поле"></td>
</tr>
<tr>
<td><font size="2">Port <font color="red">*</font>: </td>
<td><input size="34" class="classic_input" name="port" type="text" value="<?=htmlspecialchars($_POST[port])?>"></td>
</tr>
<?
if($game!='samp'&& $game!='ts3'&& $game!='ventrilo')
{
?>
<tr>
<td><font size="2">Тип <font color="red">*</font>: </td>
<td><select name='cid'>
<option value="444">----------------Избери---------------</option>
<?
$db->zaqvka("SELECT * FROM cats ORDER BY cid");
while($rows = $db->rezultati())
{
echo "<option value='$rows[cid]' $select>$rows[ime]";
}
?>
</select></td>
</tr>
<?
}
?>
<tr>
<td><font size="2">Уеб сайт : </td>
<td><input class="classic_input" name="web" size="34" type="text" value="<?=htmlspecialchars($_POST[web])?>"></td>
</tr>
<tr>
<td><font size="2">Допълнителна информация: </td>
<td><textarea rows="3" cols="40" name="dop"><?=htmlspecialchars($_POST[dop])?></textarea></td>
</tr>
<tr>
<td><font size="2">Captcha: </td>
<td> <input name="setCaptcha" type="text" class="classic_input" id="setCaptcha" size="34" class="textbox" />
<br />
<a href="#" onclick="document.getElementById('captcha_img').src = './captcha/cf.captcha.php?img=' + Math.random(); return false"><img id="captcha_img" src="./captcha/cf.captcha.php?img=<?=time();?>" />
</a></td>
</tr>
</table>
<center>
<input class="button" name="submit" type="submit" value="Добави сървър"></center>
</form>
<?
}
?>
</td></tr></table>
</td>
<td><font color="red"><b>Правила за добавяне на сървъри:</b></font><br><br>
1. Забранява се добавянето на сървъри които са офлайн! <br>Всички офлайн сърври биват изтривани автоматично след 14 дена.<br>
2. Забранява се добавянето на сървъри които копират имената на известни <br>вериги или част от тях.<br>
Сървъри нарушаващи това правило биват изтривани без предупреждение.<br>
3. Забранява се добавянето на сървъри които пренасчват към други такива.<br><br>
<font color="green"><b>Съвети за добавяне на сървъри:</b></font><br><br>
1. Уверете се ,че сте избрали правилната игра .<br>
2. Попълнете внимателно ИП и Порт на сървъра.<br>
в случай на грешка може да редактирате сървъра от менюто мои сървъри.<br>
3. Ако срещнете проблем при добавянето на сървъри на се <br> колебйте да се свържете с нас
<a href="http://game-stats.eu/contacts.html" >чрез контактната форма</a>
</td>
</tr></table>