Подскажите пожалуйста новичку в вашем нелегком деле, столкнулся еще с такой проблемой, заполняю форму если данные введены не верно то форма не отправляется, данные которые были введены корректно должны остаться вот как это сделать средствами php, если это вообще реально. Ибо после проверки все сбрасывается на значение по умолчанию у списка Код (PHP): <select class="registration" name ="userStatus"> <option value="1">Серебро</option> <option value="2">Золото</option> <option value="3">Платина</option> </select> это первый элемент а у радиобатна Код (PHP): <input type="radio" name="sex" value="Мужчина"checked="checked"/> Мужской <input type="radio" name="sex" value="Женщина"/> Женский соответственно checked элемент. Можно это сделать на php или это js нужно подключать?
К.О. утверждает: надо передавать считанные из переменной $_POST значения во вновь выводимую форму. Уж не знаю используешь ли ты какой-то шаблонизатор, у меня оно выглядит так: Код (PHP): $form = $this->collectPost(['userStatus', 'sex', 'anything']); if (!($errors = $this->validate('someGroupOfRules', $form))) { // ... запись в таблицу, отсылка писем, списывание денег и т.п. полезная работа $this->redirect('homepage', 'Ok. You did it!'); } // иначе, выводим форму снова $this->render('tplName', $form + ['errors' => $errors])); Шаблон использует свой язык, но в конце концов он компилируется во что-то вроде: Код (PHP): <select class="registration" name ="userStatus"> <option value="1" <?= ($userStatus == 1) ? 'checked' : ''?>>Серебро</option> <option value="2" <?= ($userStatus == 2) ? 'checked' : ''?>>Золото</option> <option value="3" <?= ($userStatus == 3) ? 'checked' : ''?>>Платина</option> </select>
ну собственно так и делаю, только всех подходов пока не знаю. Спасибо, буду плыть в этом направлении.