Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Проблема с добавлением позиции
 
 автор: сотка   (21.03.2012 в 17:48)   письмо автору
 
 

Привет уважаемые подскажите на что ругается класс?

Catchable fatal error: Object of class field_textarea could not be converted to string in



БД
CREATE TABLE system_android_position (
  id_position int(11) NOT NULL auto_increment,
  `name` tinytext NOT NULL,
  `boby` text NOT NULL,
  `system` text NOT NULL,
  small tinytext NOT NULL,
  big tinytext NOT NULL,
  apk tinytext NOT NULL,
  pollnumber int(11) NOT NULL,
  pollmark int(11) NOT NULL,
  hide enum('show','hide') NOT NULL default 'show',
  pos int(11) NOT NULL default '0',
  id_catalog int(11) NOT NULL default '0',
  PRIMARY KEY  (id_position)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251;


Код добавления
 $query = "INSERT INTO $tbl_android_position
                  VALUES (NULL,
                          '{$form->fields[name]->value}',
                          '{$form->fields[boby]->value}',
                          '$system',
                          '$apk',
                          '$big',  // на вот эту строчку ругается содержит путь к изображению
                          '$small',
                          '{$form->fields[pollnumber]->value}',
                          '{$form->fields[pollmark]->value}',
                          '$showhide',
                           $pos,
                          {$form->fields[id_parent]->value})";



Формирование формы
$name = new field_text("name",
                           "Название",
                           false,
                           $_POST['name']);
    $boby = new field_textarea("boby",
                           "Описание",
                           false,
                           $_POST['boby']); 
    $system = new field_textarea("system",
                           "Версия OS",
                           false,
                           $_POST['system']);                    
                           
    $apk  = new field_file("apk",
                            "Apk-файл",
                             false,
                             $_FILES,
                            "../../files/android/");
                                       
    $big   = new field_file("big",
                            "Скриншот",
                             false,
                             $_FILES,
                            "../../files/android/screen/");
                            
    $pollnumber = new field_text_int("pollnumber",
                                     "Количество проголосовавших",
                                      false,
                                     $_POST['pollnumber']);
    $pollmark = new field_text_int("pollmark",
                                   "Количество голосов",
                                    false,
                                    $_POST['pollmark']);                     
  
    $hide = new field_checkbox("hide",
                               "Отображать",
                               $_REQUEST['hide']);
     $id_parent = new field_hidden_int("id_parent",
                                 true,
                                 $_REQUEST['id_parent']);                            
    $page = new field_hidden_int("page",
                                 false,
                                 $_REQUEST['page']);
                                 
    $form = new form(array("name"       => $name,
                           "boby"       => $boby,
                           "big"        => $big,
                           "apk"        => $apk,
                           "pollnumber" => $pollnumber,
                           "pollmark"   => $pollmark,
                           "hide"       => $hide,   
                           "id_parent"  => $id_parent,
                           "page"       => $page), 
                     "Добавить",
                     "field");

  Ответить  
 
 автор: cheops   (21.03.2012 в 18:01)   письмо автору
 
   для: сотка   (21.03.2012 в 17:48)
 

У вас объект $system и судя по всему, где-то есть строка $system, которая потом используется в SQL-запросе. Лучше вообще отказаться от отдельного объявления объектов - это мы неудачно тогда сделали. Поместите все объекты в массив
$elem['name'] = ...;
$elem['body'] = ...;
$elem['system'] = ...;
...
$form = new form($elem,  
                     "Добавить", 
                     "field");
У вас такие ошибки как класс пропадут.

  Ответить  
 
 автор: сотка   (21.03.2012 в 18:24)   письмо автору
 
   для: cheops   (21.03.2012 в 18:01)
 

Спасибо помогло! Только почему то именно system не добавляется к БД!

 // Формируем SQL-запрос на добавление позиции
        $query = "INSERT INTO $tbl_android_position
                  VALUES (NULL,
                          '{$form->fields[name]->value}',
                          '{$form->fields[boby]->value}',
                          '$system',
                          '$apk',
                          '$big',
                          '$small',
                          '{$form->fields[pollnumber]->value}',
                          '{$form->fields[pollmark]->value}',
                          '$showhide',
                           $pos,
                          {$form->fields[id_parent]->value})"


PS: поясните именно такое управление добавления через массив(где то встречал ваш код-на скриншоте подсмотрел:)))) но так и не понял именно управление

  Ответить  
 
 автор: cheops   (21.03.2012 в 18:28)   письмо автору
 
   для: сотка   (21.03.2012 в 18:24)
 

Ну а как же, смотрите на 5 строку сверху - там $system, а в предыдущем варианте у вас это был объект.
 $query = "INSERT INTO $tbl_android_position 
                  VALUES (NULL, 
                          '{$form->fields[name]->value}', 
                          '{$form->fields[boby]->value}', 
                          '$system', 
                          '$apk', 
                          '$big',  // на вот эту строчку ругается содержит путь к изображению 
                          '$small', 
                          '{$form->fields[pollnumber]->value}', 
                          '{$form->fields[pollmark]->value}', 
                          '$showhide', 
                           $pos, 
                          {$form->fields[id_parent]->value})";

  Ответить  
 
 автор: сотка   (21.03.2012 в 18:41)   письмо автору
 
   для: cheops   (21.03.2012 в 18:28)
 

Спасибо!)))

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования