Оптимизиране на заявка

uphero

Registered
Една задача с повишена трудност - оптимизиране на този скрипт.
Функцията му е да записва резултати в БД , писан и дописван 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>
 
Може и по-добре, но ме мързи.
PHP:
<h1>Добави сървър</h1>
<SCRIPT LANGUAGE="JavaScript">

</SCRIPT>
<?
$game = $_GET['gamemod'];
$gameArray = array('cs1.6', 'csgo', 'cs1.5', 'ts3', 'hl', 'cz', 'ns', 'mc', 'source', 'samp', 'ventrilo');
$gameBind = array('cs1.6' => 'halflife', 'csgo' => 'source', 'cs1.5' => 'halflifewon', 'ts3' => 'ts3', 'hl' => 'halflife', 'cz', 'ns', 'mc' => 'minecraft', 'source' => 'halflifewon', 'samp' => 'samp', 'ventrilo' => 'ventrilo');
$gameName = array('cs1.6' => 'Counter-Strike 1.6', 'csgo' => 'Counter Strike GO', 'cs1.5' => 'Counter-Strike 1.5', 'ts3' => 'Teamspeak 3', 'hl' => ' Half-Life', 'cz' => 'Counter-Strike Condition Zero', 'ns', 'mc' => 'Minecraft', 'source' => 'Counter-Strike Source', 'samp' => 'San Andreas Multiplayer', 'ventrilo' => 'Ventrilo');


if (!in_array($game, $gameArray)) {
    echo "<META HTTP-EQUIV='Refresh' CONTENT='0; URL=http://game-stats.eu/'>";
    die();
}


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']);
            $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'];
                                $db->zaqvka("INSERT INTO `lgsl` (cache_time,`cache`,`id`,`sid`,`type`,`ip`,`c_port`,`q_port`) VALUES ('','','$nowid','$nowid','{$gameBind[$game]}','$ip','$port','$port')") 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>


                                <div class="classic_input"><img src="http://game-stats.eu/iconsa/<?= $game ?>.png"><?= $gameName[$game] ?> </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>
 

Back
Горе