Fejl i PHP kode - Jeg overbelaster b-ones server - Find den
Hej, jeg er webmaster for siden www.sejespil.dk, som iøjeblikket ikke virker pga. jeg overbelaster b-one's server! (systemet kørte også unormalt langsomt, da jeg endnu kunne se min hjemmeside skal det da også siges). De siger at det er en fejl i dette PHP script, og at jeg muligvis har glemt at lukke forbindelsen eller ligende!- Kan i venligst hjælpe mig? TAK!
PHP scriptet:
<?
ob_start();
?>
<html>
<head>
<meta http-equiv="Content-Language" content="da">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<style type="text/css">
a, a:visited, a:active {
color: black;
text-decoration: none;
}
a:hover {
color: red;
}
body {
font: normal 10pt verdana;
background: #F5F9FC;
color: #000000;
scrollbar-face-color: #F5F9FC;
scrollbar-highlight-color: #F5F9FC;
scrollbar-shadow-color: #1C425E;
scrollbar-3dlight-color: #1C425E;
scrollbar-arrow-color: #1C425E;
scrollbar-track-color: #F5F9FC;
scrollbar-darkshadow-color: #F5F9FC;
overflow:auto;
}
table {
font: normal 10pt verdana;
}
img {
border-width: 0px;
}
.h {
font: bold 12pt verdana;
}
p, form {
display: inline;
}
</style>
<title>Oversigt over spil</title>
</head>
<body>
<?
mysql_connect("********", "********", "********") or die(mysql_error());
mysql_select_db("********") or die(mysql_error());
// Sæt hits ved hvert spil
$sql = mysql_query("SELECT * FROM `spil`");
while ($row = mysql_fetch_array($sql)) {
extract($row);
if (!$hits) {
$hits = mysql_num_rows(mysql_query("SELECT * FROM `hits` WHERE `id` = $id"));
mysql_query("UPDATE `spil` SET `hits` = $hits WHERE `id` = $id");
}
$rate2 = mysql_query("SELECT * FROM `rate` WHERE `id` = $id");
$rate1 = mysql_fetch_array($rate2);
$rate = $rate1["rate"];
mysql_query("UPDATE `spil` SET `gennemsnit` = $rate WHERE `id` = $id");
}
$vis = (int) $_GET["vis"];
if (!$vis || $vis < 0) {
$vis = 0;
}
$antal = 20;
$play = $_GET["play"];
if ($play && $_GET["id"]) {
$ip = getenv("REMOTE_ADDR");
$id = $_GET["id"];
$sql = mysql_query("SELECT * FROM `spil` WHERE `id` = $id");
$row = mysql_fetch_array($sql);
$dest = $_GET["dest"];
mysql_query("INSERT INTO `hits` (`hits`, `id`) VALUES ('$ip', $id)");
header("location: $dest");
ob_end_flush();
exit;
}
$kat = $_GET["kat"];
// Vælg kategori menu
if ($kat != "Rate" && $kat != "hits") {
echo "<center>\n";
echo "<form name=\"kategori_form\" action=\"$PHP_SELF\" method=\"get\">\n";
echo "Vælg kategori:\n";
echo "<select name=\"kat\" onchange=\"kategori_form.submit();\">\n";
echo "<option value=\"alle\">Alle</option>\n";
$sql = mysql_query("SELECT * FROM `kategorier` ORDER BY `kat` ASC");
while ($row = mysql_fetch_array($sql)) {
echo "<option value=\"$row[kat]\""; if ($kat == $row["kat"]) echo " selected=\"selected\""; echo ">$row[kat]</option>\n";
}
echo "</select></form>";
echo "</center><br />\n";
}
$rate = $_POST["rate"];
$ip = $_SERVER["REMOTE_ADDR"];
$list_rate = explode("_", $rate);
if (is_array($list_rate)) {
mysql_query("INSERT INTO `rate` (`id`, `rate`, `ip`) VALUES ($list_rate[3], $list_rate[1], '$ip')");
}
if ($kat) {
if ($kat == "alle") {
$sql = mysql_query("SELECT * FROM `spil` ORDER BY `id` DESC LIMIT $vis, $antal");
}
elseif ($kat == "Rate") {
$sql = mysql_query("SELECT * FROM `spil` ORDER BY `gennemsnit` DESC LIMIT 0, 50");
}
elseif ($kat == "hits") {
$sql = mysql_query("SELECT * FROM `spil` ORDER BY `hits` DESC LIMIT 0, 50");
}
else {
$sql = mysql_query("SELECT * FROM `spil` WHERE `kategori` = '$kat' ORDER BY `id` DESC LIMIT $vis, $antal");
}
}
else {
$sql = mysql_query("SELECT * FROM `spil` ORDER BY `id` DESC LIMIT $vis, $antal");
}
echo "<center>\n";
if (mysql_num_rows($sql) == 0) {
echo "<span class=\"h\">Der blev ikke fundet nogle spil i denne kategori.</span>";
} else {
if ($kat == "Rate") {
echo "<span class=\"h\">De 50 bedste spil</span>";
} elseif ($kat == "hits") {
echo "<span class=\"h\">De 50 mest besøgte spil</span>";
} elseif ($kat == "Chats") {
echo "<span class=\"h\">Antal chats: " . mysql_num_rows(mysql_query("SELECT * FROM `spil` WHERE `kategori` = '$kat'")) . "</span>";
} else {
if (!$kat) {
echo "<span class=\"h\">Antal spil og film: " . mysql_num_rows(mysql_query("SELECT * FROM `spil`")) . "</span>";
} else {
echo "<span class=\"h\">Antal spil og film: " . mysql_num_rows(mysql_query("SELECT * FROM `spil` WHERE `kategori` = '$kat'")) . "</span>";
}
}
}
echo "</center>";
echo "<hr color=\"#8DC0EB\" size=\"1\" noshade />";
if ($kat == "Rate") {
$index = 0;
echo "<table width=\"100%\">";
while ($row = mysql_fetch_array($sql)) {
$index++;
if (strstr($index/2, ".")) {
echo "<tr>";
}
$ip = $_SERVER["REMOTE_ADDR"];
$id = $row["id"];
echo "<td width=\"50%\" align=\"center\" id=\"$row[id]\">";
$rate1 = mysql_query("SELECT * FROM `rate` WHERE `id` = $id");
$sum = 0;
while ($rate2 = mysql_fetch_array($rate1)) {
$sum += $rate2["rate"];
}
$opsummering = mysql_num_rows($rate1);
$billede2 = mysql_query("SELECT * FROM `spil` WHERE `id` = $id");
$billede1 = mysql_fetch_array($billede2);
if (!$billede1["gennemsnit"]) {
$billede1["gennemsnit"] = "0";
}
echo "<div align=\"center\" id=\"$row[id]\"><b><a style=\"text-decoration: none\" href=\"?play=true&id=" . $row["id"] . "&dest=" . $row["spil_dest"] . "\" target=\"_blank\">$row[titel]</b></a></div>\n";
echo "<a href=\"?play=true&id=" . $row["id"] . "&dest=" . $billede1["spil_dest"] . "\" target=\"_blank\"><img height=\"60\" width=\"60\" src=\"uploads/" . $billede1["billede_dest"] . "\" alt=\"" . $billede1["titel"] . "\" /></a>\n<br />\n";
if (mysql_num_rows(mysql_query("SELECT * FROM `rate` WHERE `id` = $id AND `ip` = '$ip'")) == 0) {
echo "<form action=\"{$_SERVER[PHP_SELF]}#{$row[id]}\" method=\"post\">\n";
echo "Bedøm: <select name=\"rate\">\n";
for ($i = 1; $i <= 10; $i++) {
echo "<option value=\"rate_{$i}_id_{$id}\">$i</option>\n";
}
echo "</select> <input type=\"submit\" value=\"Bedøm\" />\n</form>";
}
echo "<p>Kategori: <b>$billede1[kategori]</b><br />Antal stemmer: <b>" . mysql_num_rows(mysql_query("SELECT * FROM `rate` WHERE `id` = $id")) . "</b><br />Gennemsnitlig bedømmelse: <b>";
if (strstr(($sum)/$opsummering, ".")) {
echo substr($sum/$opsummering, 0, 3);
} else {
echo $sum/$opsummering;
}
echo "</b><br />Hits: <b>" . mysql_num_rows(mysql_query("SELECT * FROM `hits` WHERE `id` = $id")) . "</b></td>";
// Her går den til næste spil
if (!strstr($index/2, ".")) {
echo "</tr><tr><td colspan=\"2\"><hr color=\"#8DC0EB\" size=\"1\" noshade /></td></tr>\n";
}
}
}
elseif ($kat == "hits") {
$index = 0;
echo "<table width=\"100%\">";
while ($row = mysql_fetch_array($sql)) {
$index++;
if (strstr($index/2, ".")) {
echo "<tr>";
}
echo "<td width=\"50%\" align=\"center\" id=\"$row[id]\">";
$ip = $_SERVER["REMOTE_ADDR"];
$id = $row["id"];
$rate1 = mysql_query("SELECT * FROM `rate` WHERE `id` = $id");
$sum = 0;
while ($rate2 = mysql_fetch_array($rate1)) {
$sum += $rate2["rate"];
}
$opsummering = mysql_num_rows($rate1);
$billede2 = mysql_query("SELECT * FROM `spil` WHERE `id` = $id");
$billede1 = mysql_fetch_array($billede2);
if (strstr(($sum)/$opsummering, ".")) {
$gennemsnit = substr($sum/$opsummering, 0, 3);
} else {
$gennemsnit = $sum/$opsummering;
}
echo "<div align=\"center\" id=\"$row[id]\"><a style=\"text-decoration: none\" href=\"?play=true&id=" . $row["id"] . "&dest=" . $row["spil_dest"] . "\" target=\"_blank\"><b>$row[titel]</b></a></div>\n";
echo "<a href=\"?play=true&id=" . $row["id"] . "&dest=" . $billede1["spil_dest"] . "\" target=\"_blank\"><img height=\"60\" width=\"60\" src=\"uploads/" . $billede1["billede_dest"] . "\" alt=\"" . $billede1["titel"] . "\" /></a>\n<br />\n";
if (mysql_num_rows(mysql_query("SELECT * FROM `rate` WHERE `id` = $id AND `ip` = '$ip'")) == 0) {
echo "<form action=\"{$_SERVER[PHP_SELF]}#{$row[id]}\" method=\"post\">\n";
echo "Bedøm: <select name=\"rate\">\n";
for ($i = 1; $i <= 10; $i++) {
echo "<option value=\"rate_{$i}_id_{$id}\">$i</option>\n";
}
echo "</select> <input type=\"submit\" value=\"Bedøm\" />\n</form>";
}
echo "<p>Kategori: <b>$billede1[kategori]</b><br />Antal stemmer: <b>" . mysql_num_rows(mysql_query("SELECT * FROM `rate` WHERE `id` = $id")) . "</b><br />Gennemsnitlig bedømmelse: <b>";
echo $gennemsnit . "</b><br />Hits: <b>" . mysql_num_rows(mysql_query("SELECT * FROM `hits` WHERE `id` = $id")) . "</b></td>";
// Her går den til næste spil
if (!strstr($index/2, ".")) {
echo "</tr><tr><td colspan=\"2\"><hr color=\"#8DC0EB\" size=\"1\" noshade /></td></tr>\n";
}
}
}
else {
$index = 0;
echo "<table width=\"100%\">";
while ($row = mysql_fetch_array($sql)) {
$index++;
if (strstr($index/2, ".")) {
echo "<tr>";
}
echo "<td width=\"50%\" align=\"center\" id=\"$row[id]\">";
echo "<a href=\"?play=true&id=" . $row["id"] . "&dest=" . $row["spil_dest"] . "\" target=\"_blank\"><b>$row[titel]</b></a><br />\n";
echo "<a href=\"?play=true&id=" . $row["id"] . "&dest=" . $row["spil_dest"] . "\" target=\"_blank\"><img height=\"60\" width=\"60\" src=\"uploads/" . $row["billede_dest"] . "\" alt=\"" . $row["titel"] . "\" /></a>\n<br />\n";
$ip = $_SERVER["REMOTE_ADDR"];
$id = $row["id"];
if (mysql_num_rows(mysql_query("SELECT * FROM `rate` WHERE `id` = $id AND `ip` = '$ip'")) == 0) {
echo "<form action=\"{$_SERVER[PHP_SELF]}#{$row[id]}\" method=\"post\">\n";
echo "Bedøm: <select name=\"rate\">\n";
for ($i = 1; $i <= 10; $i++) {
echo "<option value=\"rate_{$i}_id_{$id}\">$i</option>\n";
}
echo "</select> <input type=\"submit\" value=\"Bedøm\" />\n</form>";
}
$rate1 = mysql_query("SELECT * FROM `rate` WHERE `id` = $id");
$sum = 0;
while ($rate2 = mysql_fetch_array($rate1)) {
$sum += $rate2["rate"];
}
$opsummering = mysql_num_rows($rate1);
echo "Kategori: <b>$row[kategori]</b><br />Antal stemmer: <b>" . mysql_num_rows(mysql_query("SELECT * FROM `rate` WHERE `id` = $id")) . "</b><br />Gennemsnitlig bedømmelse: <b>";
if (strstr($sum/$opsummering, ".")) {
echo (int) substr($sum/$opsummering, 0, 3);
} else {
echo (int) $sum/$opsummering;
}
echo "</b><br />Hits: <b>" . mysql_num_rows(mysql_query("SELECT * FROM `hits` WHERE `id` = $id")) . "</b></td>";
// Her går den til næste spil
if (!strstr($index/2, ".")) {
echo "</tr><tr><td colspan=\"2\"><hr color=\"#8DC0EB\" size=\"1\" noshade /></td></tr>\n";
}
}
echo "</table>";
if (!strstr(($index-1)/2, ".")) {
echo "<hr color=\"#8DC0EB\" size=\"1\" noshade />\n";
}
}
echo "<p />";
if ($kat == "Rate" || $kat == "hits") {
exit;
}
echo "<center>";
$forrige = $vis-$antal;
$naeste = $vis+$antal;
if ($forrige >= 0) {
echo "<a href=\"?vis=$forrige\">Forrige</a> ";
}
$i = 0;
$i2 = 0;
if (!$kat) {
do {
$i2 = $i2 + 1;
if ($vis == $i) {
echo "<b>$i2</b> ";
} else {
echo "<a href=\"?kat=$kat&vis=$i\">$i2</a> ";
}
$i = $i + 20;
}
while ($i < mysql_num_rows(mysql_query("SELECT * FROM `spil`")));
} else {
do {
$i2 = $i2 + 1;
if ($vis == $i) {
echo "<b>$i2</b> ";
} else {
echo "<a href=\"?kat=$kat&vis=$i\">$i2</a> ";
}
$i = $i + 20;
}
while ($i < mysql_num_rows(mysql_query("SELECT * FROM `spil` WHERE `kategori` = '$kat'")));
}
if ($kat) {
if ($naeste < mysql_num_rows(mysql_query("SELECT * FROM `spil` WHERE `kategori` = '$kat'"))) {
echo "<a href=\"?kat=$kat&vis=$naeste\">Næste</a>";
}
} else {
if ($naeste < mysql_num_rows(mysql_query("SELECT * FROM `spil`"))) {
echo "<a href=\"?vis=$naeste\">Næste</a>";
}
}
echo "</center>";
?>
</body>
</html>
