Категории

[FAQ] Часто задаваемые вопросы и ответы

Проблемы и решения

Ошибки и исправления

Общие вопросы

Расширения

Установка и обновление

Модули

Шаблоны

Локализация интерфейса

Коммерческие предложения

Учимся бизнесу

Бизнес книги

Поисковая оптимизация (SEO)

Магазины на ShopOS

Хостинг для ShopOS

Предложения и пожелания

Курилка

Заполнение форм.

Здравствуйте. Переделываю для себя один модуль и столкнулся с такой проблеммой: сделал в нем много обязательных полей для заполнения с помощью функции os_draw_input_field, если хоть одно поле не заполнено происходит редирект на эту же страницу с просьбой ввести все поля. Ясное дело, что бы пользователь не вбивал заново уже введенные поля я хотел сделать их уже заполнеными, но не знаю как. В обычной форме самым простым я бы сделал так $Name =echo $_POST['name'];  а к value= добавил $Name. А здесь он ругается на echo - "Parse error: syntax error, unexpected T_ECHO" Может подскажете как быть? Уже пол дня мучаюсь с такой казалось бы плевой задачей.




И как это Вы собирались сделать в обычной форме, если написанный Вами оператор PHP не работает, так как содержит тривиальные ошибки?




И как это Вы собирались сделать в обычной форме, если написанный Вами оператор PHP не работает, так как содержит тривиальные ошибки?

Да согласен, вчера не заметил своей опечатки. Конечно же $Name =$_POST['name'];  и echo $Name;. Но проблема то никуда не уходит, кто писал подобные модули подскажите как вы решали проблему с сохранением в формах данных?


ну так вы саму функцию смотрели?
Вторым аргументом является как раз value

os_draw_input_field('name', $Name);

При этом для нормальных браузеров можно указать сразу необходимость заполнения в виде атрибута required

os_draw_input_field('name', $Name, 'required');

И делать проверку в начале кода

$Name = $_POST['name'];
if (empty($Name))
// действие, если $Name пусто
else
$Name = '';// чтобы стандартно просто определять переменную


;
if (empty($Name))
// действие, если $Name пусто
else
$Name = '';// чтобы стандартно просто определять переменную


Вот как у меня выглядит функция selection()

function selection()
{
      global $order;
      $selection = array('id' => $this->code,
                        'module' => $this->title,
                        'description'=>$this->info,
                      'fields' => array(array('title' => MODULE_PAYMENT_CRED_NAME_TITLE,
                                              'field' => MODULE_PAYMENT_CRED_NAME_DESC),
                                        array('title' => MODULE_PAYMENT_CRED_NAME_F,
                                              'field' => os_draw_input_field('name', $order->customer['lastname'])),
                                        array('title' => MODULE_PAYMENT_CRED_NAME_I,
                                              'field' => os_draw_input_field('surname', $order->customer['firstname'])),     
                                        array('title' => MODULE_PAYMENT_CRED_NAME_O,
                                              'field' => os_draw_input_field('patronymic')),     
                                          ));
      return $selection;
}

Те данные которые записаны в БД спокойно подставляются вторым аргументом $order->customer['lastname'] .  Но когда я пытаюсь подставить os_draw_input_field('patronymic', echo $Name ) появляется ошибка "Parse error: syntax error, unexpected T_ECHO". Без echo все подставляется без ошибок но ястное дело не выводится. Вот я и пытаюсь понять что я делаю не так.



НЕ ПРАВИЛЬНО os_draw_input_field('patronymic', echo $Name )
ПРАВИЛЬНО os_draw_input_field('patronymic', $Name);
Это же аргументы функции. какое там может быть echo?

При этом валидация полей вроде там в отдельном методе класса делается.
не проверял и да же не смотрел.
но в оплатах есть два метода
pre_confirmation_check
и
javascript_validation - можно JS код там делать, чтобы налету проверять заполнение полей.



но в оплатах есть два метода
pre_confirmation_check
и
javascript_validation - можно JS код там делать, чтобы налету проверять заполнение полей.

Через pre_confirmation_check у меня выводится сообщение об ошибке если не заполнены все поля. Может вы знаете у какого модуля есть возможность автозаполнения уже заполненых полей? Расковыряв его я смогу и себе добавить такую функцию.


Источник



В компьютерные игры играют как взрослые, так и дети, причем дети нередко занимают играми все свободное время, а взрослые рабочее время в офисе. Благодаря браузерным играм каждый может играть прямо на офисном компьютере без необходимости установки игры. Если вас интересуют игры про Человека Паука, то на сайте igri-mstiteli.ru вы найдете множество онлайн игр по мотивам комиксов, мультфильмов и известных фильмов.
Copyright ShopOS