Проблем с код

Dizasterr

Registered
Здравейте! Написах този код и на компютъра ми работи както трябва, но като го кача в интернет(безплатен хостинг) ъпдейтва си базата данни когато е 1 - во ниво, но взема само от полето пари(money), но аз искам да взема и от другите две. И ми пишe, чe нямам, въпреки че в базата данни е записано, че имам. Ето кода:
Код:
<?php
session_start(); // Стартираме сесията
if(!(isset($_SESSION['login']))) { // Проверяваме дали потребителят е влязъл в профила си, като проверим дали сесията съществува
die("Тази страница е достъпна само за регистрирани потребители!");
} 
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>.: Kingdom Fights :.</title>
<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
<meta http-equiv='CONTENT-LANGUAGE' content='bg' />
<meta name="keywords" content="" />
<meta name="description" content="" />
<?php
	require_once("../connection.php"); // Свързваме се към файла с връзката към базата данни
	mysql_query("SET NAMES cp1251"); // Задаваме колация на страницата
	
	$logged=$_SESSION['login']; // Даваме стойността на сесията на променлива
	$sql=mysql_query("SELECT * FROM `users` WHERE `user`='$logged'") or die(mysql_error()); // Избираме реда от таблицата, в който потребителското име е същото като на влезлия потребител
	$r=mysql_fetch_assoc($sql);
	$race=$r['race'];
	if($race == 'Хотентоти') { // Проверяваме стойността на полето, което съдържа расата на потребителя
	   echo "<link type='text/css' href='../styles.css' rel='stylesheet' media='screen' />"; // Зареждаме файла със стиловете(css)
	}
	if ($race == 'Атропоси') { // Проверяваме стойността на полето, което съдържа расата на потребителя
	  echo "<link href='../stylesm.css' rel='stylesheet' type='text/css' media='screen' />"; // Зареждаме файла със стиловете(css)
	}
?>
<script src="../jquery-1.3.2.js" type="text/javascript"></script>
<script>
		function showSubmenu() {
			$("#submenu").slideToggle(1000);
		};
		var empty = "bb";
		function toggleMenu(div) {
		if ($(div).hasClass(empty)) hideMenu(div);
		else showMenu(div);
		}
		function showMenu(div) {
		$(div).animate({"left": "+=90px"}, "slow");
		$(div).addClass(empty);
		}
		function hideMenu(div) {
		$(div).animate({"left": "-=90px"}, "slow");
		$(div).removeClass(empty);
		} 
</script>
</head>
<body>
<center>
<br/><br/><br/><br/><br/>
<div id="main">
<table id="tablemenu" align="center">
<tr align="center">
<td id="button" onmouseover="this.style.opacity=1;this.filters.alpha.opacity=100" onmouseout="this.style.opacity=0.85;this.filters.alpha.opacity=85"><a href="../index.php">Начало</a></td>
<td id="button" onmouseover="this.style.opacity=1;this.filters.alpha.opacity=100" onmouseout="this.style.opacity=0.85;this.filters.alpha.opacity=85"><a href="#" onclick="showSubmenu()">Профил</a></td>
<td id="button" onmouseover="this.style.opacity=1;this.filters.alpha.opacity=100" onmouseout="this.style.opacity=0.85;this.filters.alpha.opacity=85"><a href="comments.php">Коментари</a></td>
<td id="button" onmouseover="this.style.opacity=1;this.filters.alpha.opacity=100" onmouseout="this.style.opacity=0.85;this.filters.alpha.opacity=85"><a href="rules.php">Правила</a></td>
<td id="button" onmouseover="this.style.opacity=1;this.filters.alpha.opacity=100" onmouseout="this.style.opacity=0.85;this.filters.alpha.opacity=85"><a href="contacts.php">За контакти</a></td>
</tr>
</table>
<center>
<div align="center" id="submenu">
<b><a href="messages.php">Съобщения</b></a> | <b><a href="guild.php">Гилдия</b></a> | <b><a href="search.php">Търсене</b></a> | <b><a href="account.php">Акаунт</b></a> | <b><a href="upgrades.php">Подобрения</b></a>
</div>
<div id="fix">
<a href="logout.php">Изход</a> <br/> <a href="profile.php">Моят профил</a>
</div>
<table align="center" width="700px" border="0">
<tr align="center">
<td>
<div id="warzone" align="center" onclick="toggleMenu('#warzone')">
<a href="army.php">Военна<br/>база</a>
</div><br/><br/>
<div id="goldcraft" align="center" onclick="toggleMenu('#goldcraft')">
<a href="goldcraft.php">Златни<br/>мини</a>
</div><br/><br/>
<div id="metalcraft" align="center" onclick="toggleMenu('#metalcraft')">
<a href="metalcraft.php">Метални<br/>руди</a>
</div><br/><br/>
<div id="gascraft" align="center" onclick="toggleMenu('#gascraft')">
<a href="gascraft.php">Газови<br/>находища</a>
</div><br/><br/>
<div id="quests" align="center" onclick="toggleMenu('#quests')">
<a href="quests.php">Куестове</a>
</div><br/><br/>
<div id="ranking" align="center" onclick="toggleMenu('#ranking')">
<a href="ranking.php">Класация</a>
</div>
</center>
</td>
<td align="center" width="100px">
<br/><br/>
<div id="user">
<b>Статистика:</b><br/><br/>
<?php
		$selectstat=mysql_query("SELECT * FROM `users`") or die(mysql_error());
		$count=mysql_num_rows($selectstat);
		echo "Потребители: ".$count."";
?>
</div>
</td>

<td align="center">
<br/><br/><br/><br/>
<?php 
		$id=$r['id'];
		$money=$r['money'];
		$myexp=$r['exp'];
		
		$select=mysql_query("SELECT * FROM `users` as u LEFT OUTER JOIN `resources` as r ON r.user_id = u.id") or die(mysql_error());
		$v=mysql_fetch_assoc($select);
		$mygold=$v['gold'];
		$mygas=$v['gas'];
		$mymetal=$v['metal'];
		
		echo "Моите ресурси:<br/>Злато: <b>".$mygold."</b>   Гас: <b>".$mygas."</b>  Метал: <b>".$mymetal."</b>   Пари: <b>".$money."</b>";
		
		$sel=mysql_query("SELECT * FROM `users` as u LEFT OUTER JOIN `buildings` as r ON r.user_id = u.id") or die(mysql_error());
		$a=mysql_fetch_assoc($sel);		
		$goldcraft=$a['goldcraft'];
		$goldcraftlvl=$a['goldcraftlvl'];		
		$lvlup='1';
		$colup='2000';
		$goldcraftlvlup=$goldcraftlvl + $lvlup;
		$goldcraftup=$goldcraft + $colup;
		
		$se=mysql_query("SELECT * FROM `buildings_prices` WHERE `buildingname`= 'goldcraft'") or die(mysql_error());
		$n=mysql_fetch_array($se);
		$goldprice=$n['goldprice'];
		$gasprice=$n['gasprice'];
		$metalprice=$n['metalprice'];
		$moneyprice=$n['moneyprice'];
		$exp=$n['exp'];
		$expp=$exp * $goldcraftlvlup;
		$expplus=$expp + $myexp;
		$goldall=$goldprice * $goldcraftlvlup;
		$gasall=$gasprice * $goldcraftlvlup;
		$metalall=$metalprice * $goldcraftlvlup;
		$moneyall=$moneyprice * $goldcraftlvlup;
					
		$minusgold=$mygold - $goldall;
		$minusgas=$mygas - $gasall;
		$minusmetal=$mymetal - $metalall;
		$minusmoney=$money - $moneyall;
			
		
		echo "<br/><br/>";
		
		if($goldcraftlvl == 0) {
			echo "Вие все още нямате златни мини!";
			echo "<form method='post' action=''><br/>";
			echo "<input type='submit' name='send' value='Построй' id='user' />";
			echo "</form>";

			if(isset($_POST['send'])) {
				
					if(($mygold >= $goldall) && ($mygas >= $gasall) && ($mymetal >= $metalall) && ($money >= $moneyall)) {
						$up=mysql_query("UPDATE `buildings` SET `goldcraftlvl`='$goldcraftlvlup',`goldcraft`='$goldcraftup' WHERE `user_id`='$id'") or die(mysql_error());
						$moneys=mysql_query("UPDATE `resources` SET `gold`='$minusgold' , `gas`='$minusgas' , `metal`='$minusmetal' WHERE `user_id`='$id'") or die(mysql_error());	
						$update=mysql_query("UPDATE `users` SET `exp`='$expplus', `money`='$minusmoney' WHERE `id`='$id'") or die(mysql_error());
				
			
							if($up && $moneys && $update) {
								echo "Вие успешно разширихте златната си мина!";
							}else{
								echo "Възникна грешка при разширяването на златната Ви мина!";
							}
							}else{
								echo "Нямате достатъчно ресурси!";
							}
			}
		}
		
		
		
		if($goldcraftlvl > 0) {
			echo "Вашата златна мина е: <strong style='color: #1db1ee;'>".$goldcraftlvl."</strong> ниво.";
			echo "<form method='post' action=''><br/>";
			echo "<input type='submit' name='expand' value='Построй' id='user'>";
			echo "</form>";
			
				if(isset($_POST['expand'])) {
					
				if(($mygold >= $goldall) && ($mygas >= $gasall) && ($mymetal >= $metalall) && ($money >= $moneyall)) {
						$up=mysql_query("UPDATE `buildings` SET `goldcraftlvl`='$goldcraftlvlup',`goldcraft`='$goldcraftup' WHERE `user_id`='$id'") or die(mysql_error());
						$moneys=mysql_query("UPDATE `resources` SET `gold`='$minusgold' , `gas`='$minusgas' , `metal`='$minusmetal' WHERE `user_id`='$id'") or die(mysql_error());	
						$update=mysql_query("UPDATE `users` SET `exp`='$expplus', `money`='$minusmoney' WHERE `id`='$id'") or die(mysql_error());
							
				
							if($up && $moneys && $update) {
									echo "Вие успешно разширихте златната си мина!";
							}else{
									echo "Възникна грешка при разширяването на златната Ви мина!";
							}
							}else{
									echo "Нямате достатъчно ресурси!";
							}
			}
		}
		
		
?>
</td>
<td align="center" width="100px">
<br/><br/>
<div id="user">
<b>Реклама</b>
</div>
</td>
</tr>
<tr height="120px">
<td>
</td>
<td width="100px">
</td>
<td>
</td>
<td width="100px">
</td>
</tr>
<tr align="center">
<td>
</td>
<td width="100px">
</td>
<td>
<a href="http://www.bg-pro.com" title="www.bg-pro.com ~ разцъкваш го с кеф!" target="_blank"><img src="http://www.bg-pro.com/banners/bg-pro/gif/4.gif" alt="" width="408" height="60" border="0" /></a>
</td>
<td width="100px">
</td>
</tr>

</table>
</div>
<br/><br/><br/>
</center>
</body>
</html>
 
Защо полето money го взимаш без филтриране от базата данни, а другите две - със.... прегледай дали това е наред.
 
DeathGuard_ каза:
Защо полето money го взимаш без филтриране от базата данни, а другите две - със.... прегледай дали това е наред.
Кои други две ? Money се филтрира чрез горното $r.
 
А, да значи мини ги трите заявки една по една за да разбереш коя точно прави проблема. Не мога така лесно от толкова маса код да видя грешката.
 
DeathGuard_ каза:
А, да значи мини ги трите заявки една по една за да разбереш коя точно прави проблема. Не мога така лесно от толкова маса код да видя грешката.
Колко ли пъти ги преглеждах. Според мен е от хостинга.
 
Оправих го. Благодаря много DeathGuard_. Добре, че ми каза да ги прегледам пак. Извадих ги и открих грешките. Те са в релациите. Ето как трябва да станат:
Код:
		$select=mysql_query("SELECT * FROM `resources` WHERE `user_id`='$id'") or die(mysql_error());
// и

		$sel=mysql_query("SELECT * FROM `buildings` WHERE `user_id`='$id'") or die(mysql_error());
 

Back
Горе