Созданные поля записываются в базу только после редактирования

ЕСТЬ РЕШЕНИЕ ЗАКРЫТО

в объявлениях

#16 26 августа 2013 в 10:35

Как это может быть связано с игнорируемостью пустых, незаполненных полей?

trOid
Код, что привела oll будет проверять поле name="troid" при добавлении объявления по правилам, аналогичным для логина при регистрации.
#17 26 августа 2013 в 10:38
Это просто пример проверки заполненности поля формы, пустое поле не отправляется в форме и требует заполнения.
Lokanaft, все правильно обьяснил.

Как это может быть связано с игнорируемостью пустых, незаполненных полей?

trOid
В понятии "игнорируемостью" заложен смысл которого я не понимаю.
Понимаю — Поле может быть пустыи, или не может. Если поле не может быть пустым, то надо проверять и заполнять.
Понимаю- если поле может быть пустым, но происходит ошибка, значит есть ошибки разбора в php.
#18 26 августа 2013 в 10:43
дело в том что эти поля необязательны для заполнения. (игнорируемость в моем понятии :))
проверка на "если оно не может быть пустым" уже реализовано ранее. хотя в этом куске кода я очень сомневаюсь, именно на проверку категории && $cat_id==11
  1.  
  2. if (!$sroklic && $cat_id==11) { cmsCore::addSessionMessage($_LANG['NEED_SROK'], 'error'); $errors = true; }
  3. if (!$pricelic && $cat_id==11) { cmsCore::addSessionMessage($_LANG['NEED_PRICE'], 'error'); $errors = true; }
но если необязательные поля не вписать — 404 :(
даже если будет так
  1.  
  2. if (!$sroklic) { cmsCore::addSessionMessage($_LANG['NEED_SROK'], 'error'); $errors = true; }
  3. if (!$pricelic) { cmsCore::addSessionMessage($_LANG['NEED_PRICE'], 'error'); $errors = true; }
проверка работает, но так если необязательные sroklic2 pricelic2… поля не вписать — 404 :(
#19 26 августа 2013 в 12:10
УРА!!!!!!!!!!!!!!!!!
разобрался!
не знаю что именно помогло
добавил
  1. $item['ip'] = ip2long(cmsUser::getInstance()->ip);
я заменил
  1. return $item_id ? $item_id : false;
на
  1. return $this->inDB->insert('cms_board_items', $item);
и выполнил sql запросы что давал Fuze выше :)
Всем спасибо большое!!!
#20 26 августа 2013 в 12:42
  1.  
  2. if (!$sroklic && ($cat['id']==11)) { cmsCore::addSessionMessage($_LANG['NEED_SROK'], 'error'); $errors = true; }
  3. if (!$pricelic && ($cat['id']==11)) { cmsCore::addSessionMessage($_LANG['NEED_PRICE'], 'error'); $errors = true; }
проверка должна быть такой
#21 26 августа 2013 в 12:50

и выполнил sql запросы что давал Fuze выше :)

trOid
Это было неделю назад и вы до сих пор не воспользовались его советом? facepalm
#22 26 августа 2013 в 12:52
Ну так разницу видиш $cat_id==11 и $cat['id']==11 sad
#23 26 августа 2013 в 12:56

Ну так разницу видиш $cat_id==11 и $cat['id']==11

oll
Ага, подумал что что то тут не то при проверке, поэтому порылся в переменных😊

lokanaft, а я что то не придал значения этого, тем более для ip, и тем более что в 1.10.2 такого вообще нет в дистрибутиве. странно не правда ли?
#24 26 августа 2013 в 12:58

что в 1.10.2 такого вообще нет в дистрибутиве

trOid
Вам код из другой cms чтоли привели? facepalm
#25 26 августа 2013 в 13:01

Вам код из другой cms чтоли привели?

lokanaft
видимо какая то доработка доски объявлений которая наверное будет в 1.10.3
#26 26 августа 2013 в 17:23
trOid, нетрудно было догадаться, что это код из model.php, который выглядит в 1.10.2 идентично.
#27 27 августа 2013 в 04:14
lokanaft, из какого именно model.php? Из components/board/model.php? Только что скачал архив 1.10.2 — нет подобного.
#28 28 августа 2013 в 10:00
решено.
Используя этот сайт, вы соглашаетесь с тем, что мы используем файлы cookie.