Сама задача:
— Дать пользователю возможность заполнить личные данные, доступные по отдельной кнопке во вкладке "Редактировать профиль" (рис.1), которые, в свою очередь не будут выводится в профиле и показаны другим пользователям (по сути они нужны только для админа) и должны записаться в БД в свою таблицу при нажатии на кнопку "Сохранить".
Немного картинок для наглядности:
— "Мой профиль" — "Редактировать пользователя" — ( сама кнопка "Добавить полные анкетные данные" добавлена в код)
рис.1
— "Добавить полные анкетные данные" — собственно сама форма (тоже добавлена на отдельной странице)
рис.2
Теперь в деталях о том, что есть (или о том, что сделал я):
— создал экшен файл в ../public_html/system/controllers/users/actions/fullinfo.php который имеет такой код:
<?php class actionFullinfo extends cmsAction { public function run($profile) { return $this->model->updateUser($profile['id'], $user);
— создал таблицу в базе данных с нужными строками, под все поля формы, таблица имеет название cms_fullinfo и выглядит так:
рис.3
Далее:
— создал саму форму по URL адресу ibusiness.club/profileditinfo — файл в котором сама форма находится имеет адрес на сервере: ../public_html/templates/redray/controllers/content/category_view_profileditinfo.tpl.php (смотреть рис.2)
Страница формы имеет такой код:
<div class="card-header" data-background-color="purple"> <h1> <?php $this->pageH1(); ?> </h1> </div> <br> <div class="fullformaction"> <form name='fullform' action='fullinfo.php' method='post'> <p><b>Анкета</b></p> <hr /> <p> ИНН: <input required type='number' class="raz" name='inn' size="35" maxlength="12" placeholder="123456789101" /></p> <hr /> <p><b>ФИО</b></p> <hr /> <p> Фамилия: <input required type='text' name='family' size="30" maxlength="20" placeholder="Иванов"/></p> <p> Имя: <input required type='text' name='name' size="30" maxlength="20" placeholder="Иван"></p> <p> Отчество: <input required type='text' name='otchestvo' size="30" maxlength="20" placeholder="Иванович"></p> <hr /> <p><b>Паспорт</b></p> <hr /> <p> Серия: <input required type='number' class="raz" name='series' size="20" maxlength="4" placeholder="1234"></p> <p> Номер: <input required type='number' class="raz" name='number' size="20" maxlength="6" placeholder="123456"></p> <p> Выдан: <input required type='text' name='vydan' size="60" placeholder="ТП УФМС РОССИИ ПО КАЛИНИНСКОЙ ОБЛАСТИ"></p> <p> Дата выдачи: <input required type='date'class="raz" name='datevydachi' size="10" placeholder="01.01.1234"></p> <p> Код подразделения: <input required type='number' class="raz" name='code' size="20" maxlength="7" placeholder="123-456"></p> <hr /> <p><b>Банковские реквизиты</b></p> <hr /> <p> Наименование банка: <input required type='text' name='namebank' size="60" maxlength="50" placeholder="ООО ДАМДЕНЕГТАК "></p> <p> БИК: <input required type='number' class="raz" name='bik' size="30" maxlength="15" placeholder="123456789101"></p> <p> ОГРН: <input required type='number' class="raz" name='ogrn' size="35" maxlength="15" placeholder="123456789101"></p> <p> ИНН: <input required type='number' class="raz" name='bankinn' size="30" maxlength="12" placeholder="123456789101"></p> <p> Расчетный счет: <input required type='number' class="raz" name='rs' size="50" maxlength="20" placeholder="123456789101"></p> <p> Корреспонденский счет: <input required type='number' class="raz" name='ks' size="50" maxlength="20" placeholder="123456789101"></p> <p> Номер карты: <input required type='number' name='numbercard' class="raz" size="50" maxlength="19" placeholder="123456789101"></p> <hr /> <p><input type='submit' formaction="/users/actions/fullinfo" value='Сохранить'> <input type="button" onclick="history.back();" value="Отмена"/> </p> </form> </div>
Ну вот как то так, что с этим всем делать дальше, я не знаю, метод "интуитивного тыка" не помог.
Вернусь к началу (к задаче):
— доработать всю эту историю, что бы кликом по кнопке "Сохранить" — данные введенные в форму записывались в БД.
Кто возьмется? бюджет можно обсудить в лс!