Проблем със скрипт

Dizasterr

Registered
Здравейте! Написах си този скрипт, но не записва атаката, защитата и променливата sol. Къде е грешката ?
Код:
<?php
      require_once("../connection.php");
      mysql_query("SET NAMES cp1251");
      
      $logged=$_SESSION['login'];
      
      $result=mysql_query("SELECT * FROM `users` WHERE `user`='$logged'") or die(mysql_error());
      $a=mysql_fetch_assoc($result);
      $money=$a['money'];
      $attack=$a['attack'];
      $defence=$a['defence'];
      $soldiers=$a['pblaster'];
      
      $sql=mysql_query("SELECT * FROM `soldiersearth`") or die(mysql_error());
      $row=mysql_fetch_assoc($sql);
      $soldier=$row['name'];
      echo "<br/>";
      echo "Наименование:";
      echo $row['name'];
      echo "Цена:";
      echo $row['price'];
      echo "Атака:";
      echo $row['attack'];
      echo "Защита:";
      echo $row['defence'];
      echo "Брой:";
      echo "<form method='post' action=''>";
      echo "<input type='text' name='amount'>";
      echo "</form>";
      echo "<a href='?buy=".$soldier."'>Тренирай</a></td>";
      
      $amount=$_POST['amount'];
      $sol=$soldiers + $amount;
      
      $def=$row['defence'];
      $defa=$def * $amount;
      $att=$row['attack'];
      $atta=$att * $amount;
      $price=$row['price'];
      $buy=$_GET['buy'];
      $moneys=$price * $amount;
      $allprice=$money - $moneys;
      $allattack=$attack + $atta;
      $alldefence=$defence + $defa;
      
      if(isset($_GET['buy'])) {
      $sqll=mysql_query("UPDATE `users` SET `pblaster`='$sol', `attack`='$allattack', `defence`='$alldefence', `gold`='$allprice' WHERE `user`='$logged'") or die(mysql_error());
      
      if($sqll) {
         echo "Най - сетне!";
      }else{
         echo "Отново грешка!";
      }
      }
?>
 
Покажи ми какво ще ти изкара така;

Код:
<?php
      require_once("../connection.php");
      mysql_query("SET NAMES cp1251");
     
      $logged=$_SESSION['login'];
     
      $result=mysql_query("SELECT * FROM `users` WHERE `user`='$logged'") or die(mysql_error());
      $a=mysql_fetch_assoc($result);
      $money=$a['money'];
      $attack=$a['attack'];
      $defence=$a['defence'];
      $soldiers=$a['pblaster'];
     
      $sql=mysql_query("SELECT * FROM `soldiersearth`") or die(mysql_error());
      $row=mysql_fetch_assoc($sql);
      $soldier=$row['name'];
      echo "<br/>";
      echo "Наименование:";
      echo $row['name'];
      echo "Цена:";
      echo $row['price'];
      echo "Атака:";
      echo $row['attack'];
      echo "Защита:";
      echo $row['defence'];
      echo "Брой:";
      echo "<form method='post' action=''>";
      echo "<input type='text' name='amount'>";
      echo "</form>";
      echo "<a href='?buy=".$soldier."'>Тренирай</a></td>";
     
      $amount = $_POST['amount'];
      $sol = $soldiers + $amount;
     
      $def = $row['defence'];
      $defa = $def * $amount;
      $att = $row['attack'];
      $atta = $att * $amount;
      $price=$row['price'];
      $buy=$_GET['buy'];
      $moneys=$price * $amount;
      $allprice=$money - $moneys;
      $allattack=$attack + $atta;
      $alldefence=$defence + $defa;
     
      if(isset($_GET['buy'])) {
      $sqll=mysql_query("UPDATE `users` SET `pblaster`='$sol', `attack`='$allattack', `defence`='$alldefence', `gold`='$allprice' WHERE `user`='$logged'") or die(mysql_error());
     echo "$allattack";
      if($sqll) {
         echo "Най - сетне!";
      }else{
         echo "Отново грешка!";
      }
      }
?>

Добавил сам това;

echo "$allattack";

За да проверя дали въобще пресмята нещо..
 
Не променя числата. Ако не умножавам по $amount обаче си променя атака и защита. Защо е така ? Струва ми се, че грешката е от променливата $amount.
 

Back
Горе