Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: PHP Notice: Undefined index: property
Форумы портала PHP.SU » PHP » Программирование на PHP » PHP Notice: Undefined index: property

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

1. Sasha777 - 03 Ноября, 2019 - 20:19:44 - перейти к сообщению
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.  
2. Vladimir Kheifets - 10 Ноября, 2019 - 13:44:45 - перейти к сообщению
Sasha777 пишет:
Notice: Undefined index: property
Спойлер (Отобразить)
Добрый день!
Сообщение выдаётся потому, что здесь
Спойлер (Отобразить)
в $params[1] нет одного из ключей массива $info
Если массив $params не потерялся случайно, то желательно вставить в код проверку
Спойлер (Отобразить)
Удачи!

 

Powered by ExBB FM 1.0 RC1