PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Описание: Очередная порция ошибок в коде снова сводит с ума...
Sasha777
Отправлено: 03 Ноября, 2019 - 20:19:44
Post Id



Новичок


Покинул форум
Сообщений всего: 18
Дата рег-ции: Нояб. 2019  
Откуда: Россия


Помог: 0 раз(а)




PHP:
скопировать код в буфер обмена
  1.  
  2. global $pdo;
  3.         $info = [ "машины" => 1, "машыны" => 1, "яхты" => 2, "самолеты" => 3, "самолёты" => 3, "самалёты" => 3, "самалеты" => 3, "верталёты" => 4, "верталеты" => 4, "вертолёты" => 4, "вертолеты" => 4, "дома" => 5, "квартиры" => 6, "телефоны" => 7, "фермы" => 8, "бизнесы" => 9];
  4.         $propertyID = $info[ mb_strtolower($params[1]) ];
  5.         $propertyCount = "SELECT COUNT(1) FROM property WHERE type = ".$propertyID."'" [0];
  6.         $sql = "SELECT * FROM accounts WHERE uid = ".$user['id'];
  7.         $result = $pdo->query($sql);
  8.         foreach($result as $rew) {     
  9.                 if(empty($params[2])) {
  10.                         $result = "SELECT * FROM property WHERE type = ".$propertyID; $msg = "список:<br>";
  11.                         $res = $pdo->query($result);
  12.                         while($row = $res->fetch(PDO::FETCH_BOTH)) { $msg .= $row['pid'] . '. ' . $row['name'] . ' - ' . $row['cost'] . '$<br>'; }
  13.                         $Wolf->send($msg."Для покупки введите <<".$params[1]." [номер]>>");
  14.                 }
  15.  
  16.                 else {
  17.                         $res = "SELECT * FROM property WHERE type = ".$propertyID." AND pid = ".$params[2];
  18.                         $result = $pdo->query($res);
  19.                         foreach($result as $row) {
  20.                                 if($rew['money'] < $row['cost']) { $Wolf->send("у вас недостаточно денег"); return; }
  21.  
  22.                                 if($propertyID == 8) {
  23.                                         $userFerm = explode('&', $row['ferm']);
  24.                                         if(empty($params[3]) && ($row['money'] < ($params[3] * $row['cost']) || $params[3] <= 0)) { $Wolf->send("у вас недостаточно денег"); return; }
  25.                                         elseif($userFerm[0] != 0 && $userFerm[0] != $params[2]) { $Wolf->send("вы не можете купить разные фермы"); return; }
  26.  
  27.                                         $link = "UPDATE accounts SET money = (money + ".$params[2] ? -($row['cost'] * $params[2]) : -($row['cost']).") WHERE uid = ".$user['id'];
  28.                                         $pdo->query($link);
  29.                                         $userFerm[0] = $params[2];
  30.                                         $userFerm[1] += ($params[3] ? $params[3] : 1);
  31.                                         if($userFerm[2] == 0) $userFerm[2] = time();
  32.  
  33.                                         $lin = "UPDATE accounts SET money = (money - '".($params[3] ? -($row['cost'] * $params[3]) : -($row['cost']))."'), ferm = '".join('&', $userFerm)."' WHERE uid = ".$user['id'];
  34.                                         $pdo->query($lin);
  35.                                 } elseif($propertyID == 9) {
  36.                                         $userBusiness = explode('&', $row['business']);
  37.                                         if($userBusiness[0] != 0) { $Wolf->send("у вас уже есть бизнес!"); return; }
  38.  
  39.                                         $userBusiness[0] = $params[2];
  40.                                         $userBusiness[3] = time();
  41.  
  42.                                         $linki = "UPDATE accounts SET money = (money - '".$row['cost']."'), business = '".join('&', $userBusiness)."' WHERE uid = ".$user['id'];
  43.                                         $pdo->query($linki);
  44.                                 } else {
  45.                                         $userProperty = explode('&', $row['property']);
  46.                                         if($userProperty[$propertyID] != 0) { $Wolf->send("у вас уже есть данное имущество"); return; }
  47.                                         $userProperty[$propertyID] = $row['name'];
  48.                                         $linko = "UPDATE accounts SET money = (money - '".$row['cost']."'), property = '".join('&', $userProperty)."' WHERE uid = ".$user['id'];
  49.                                         $pdo->query($linko);
  50.                                 }
  51.  
  52.                                 $Wolf->send("вы успешно приобрели - ".$row['name']);
  53.                         }
  54.                 }
  55.         }
  56.  
 
 Top
Vladimir Kheifets
Отправлено: 10 Ноября, 2019 - 13:44:45
Post Id



Посетитель


Покинул форум
Сообщений всего: 438
Дата рег-ции: Март 2017  
Откуда: Германия, Бавария


Помог: 22 раз(а)




Sasha777 пишет:
Notice: Undefined index: property
Спойлер (Отобразить)
Добрый день!
Сообщение выдаётся потому, что здесь
Спойлер (Отобразить)
в $params[1] нет одного из ключей массива $info
Если массив $params не потерялся случайно, то желательно вставить в код проверку
Спойлер (Отобразить)
Удачи!
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 1 (гостей: 1, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB