Оптимизиране на скрипт

lam3r4370

Registered
Някой може ли да ми оптимизира този скрипт ?
Код:
<?php
session_start();
ob_start();
include 'config.php';
?>
<html>
<head><LINK href="neshto.css" rel="stylesheet" type="text/css"></head>
<meta http-equiv="content-type" content="text/html; charset=windows-1251"> 
<body>
<a href = "http://localhost">
<div id = "kazan">

</div>
</a>
<div id = "idn">
<a href="">Начало</a> <a href="osnovi.php">Скаути</a> <a href="server.php">Герил Воевода</a><a href="fr.php">Приятели</a>
</div>
<div id="idns">
aeaseaeae
</div>

<?php
echo '<div id = "idto">';
if(isset($_POST['submit'])) {
if($_POST['name'] == NULL && $_POST['pass'] == NULL) {
echo "Popalni pass i username";
exit();
}
elseif ($_POST['name'] == NULL){
echo "Popalni username";
exit();
}
elseif ($_POST['pass'] == NULL) {
echo "Popalni pass";
exit();
}

if($_POST['name'] != NULL || $_POST['pass'] != NULL || $_POST['name'] != NULL && $_POST['pass'] != NULL) {

$user = htmlspecialchars($_POST['name']);
$pass = md5($_POST['pass']);
$query = "SELECT * FROM users WHERE name = '$user' AND pass = '$pass'";
$do = mysql_query($query);
$row = mysql_fetch_array($do);





//както искаше,извежда бройката
$admin = $row['rank'];


if($user == $row['name'] && $pass == $row['pass']) {
	
$_SESSION['name'] = $_POST['name'];
$_SESSION['pass'] = $_POST['pass'];
$ip = $_SERVER['SERVER_ADDR'];
$mkipsqls = "INSERT INTO ip VALUES ('".$ip."')";
$mkm = mysql_query($mkipsqls);
$selqd = "SELECT * FROM ip WHERE ip = '$ip'";
$makem = mysql_query($selqd) or die(mysql_error());
while ($neshto = mysql_num_rows($makem)) {
	if ($neshto == 1) {
	
$username=$_SESSION['name'];
$number = rand(1111111111,9999999999);
$pronum=md5($number);
$_SESSION['myNum'] = $number;
$sqli=mysql_query("INSERT INTO vaprosi(idn) VALUES('$pronum')");
$myQuery = mysql_query("SELECT * FROM vaprosi") or die(mysql_error());
$myResult = mysql_fetch_object($myQuery);
if($admin == 10) { $t = 10 ; $_SESSION['admin'] = $admin = 10 ; echo "ti si admina nali";
}
if ($admin == 9) {$n = 9; $_SESSION['mod'] = $admin = 9; echo "ti si mod nali";}
echo "Вашето уникално число е :".$myResult->idn;
exit();
if(isset($_SESSION['myNum']))
{

$myQuery = mysql_query("SELECT * FROM vaprosi") or die(mysql_error());
$myResult = mysql_fetch_object($myQuery);
if($admin == 10) { $t = 10 ; $_SESSION['admin'] = $admin = 10 ; echo "ti si admina nali";
}
if ($admin == 9) {$n = 9; $_SESSION['mod'] = $admin = 9; echo "ti si mod nali";}
echo '<br>';
echo "Вашето уникално число е :  ".$myResult->idn;
exit();
}


if(isset($_SESSION['myNum']))
{

$myQuery = mysql_query("SELECT * FROM vaprosi") or die(mysql_error());
$myResult = mysql_fetch_object($myQuery);
echo "Вашето генерирано число е :  ".$myResult->idn;
die();
}
else {
$number = rand(1111111111,9999999999);
$pronum=md5($number);
$_SESSION['myNum'] = $number;
$sqli=mysql_query("INSERT INTO vaprosi(idn) VALUES('$pronum')");
$myQuery = mysql_query("SELECT * FROM vaprosi") or die(mysql_error());
$myResult = mysql_fetch_object($myQuery);
echo "Вашето генерирано число е :".$myResult->idn;
die();

}
}

}



}

if ($user != $row['name']) {
	if ($pass == $row['pass']) {
	echo "Грешен потребител";
	exit();
	}
}

if ($user != $row['name'] && $pass != $row['pass']) {
	echo "Не съществува такъв потребител или грешна парола";
	exit();
	
}
if ( $user == $row['name'] && $pass != $row['pass'] ) {
echo '<a href="http://localhost/upz.php">Zabravena parola???</a>';
die();
}
}
}
if (!isset($_POST['submit']) && !$_SESSION['name']) {
	echo '<meta http-equiv="content-type" content="text/html; charset=windows-1251"> 
<FORM action="" method="POST"><table align="center">
<tr><td>Потребителско име:</td><td><input type="text" name="name"></td></tr>
<tr><td>Парола:</td><td><input type="password" name="pass"></td></tr>
<tr><td></td><td><input type="submit" name="submit" value="Вход"></td></tr>
</table></FORM>';
}
echo "</div>";
ob_end_flush();
?>
</body>
</html>

+1
 
Е кажи какво да оптимизираме по скрипта. Пусна кода и айде ние си знаем работата...
 
Да зарежда по-бързо ,защото ми дава Internal SErver Error и суперхостинг казаха ,че дава тази грешка ,защото превишава 8-те секунди за зареждане.
 
Еми защо всичко си го набухал в един файл ? Раздели го малко на отделни файлове. Ти си напрупал сумати проверки на едно място
 
А на пример ако искам да го разделя до тази проверка -
Код:
if($user == $row['name'] && $pass == $row['pass'])
как ще стане?
 
А защо имаш 3 проверки за името и паролата?

if ($user != $row['name'] && $pass != $row['pass']) {

Защо имаш 2 пъти
if(isset($_SESSION['myNum']))

Остави само по една проверка, не ти трябват 5 проверки за едно и също нещо...
 
@svilkaa
1 - 3 са ,но са различни - if ($user == $row['name'] && $pass != $row['pass']) променено е мястото на != :D А за MyNum ами това е ,защото ако си админ не ти изкарва уникалното число ,а само когато си обикновен потребител.
А възможно ли е да е от заявката - "INSERT INTO ip VALUES('".$ip."')"; ,защото не съм посочил къде в ip - трябва да е "INSERT INTO ip(ip) VALUES ('"$ip"')"; ?
 

Back
Горе