P'tit tuto pour un formulaire ?
Myster Membre non connecté
Booster Missile
- Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
N'ayant toujours pas compris le fonctionnement sur les formulaires de PHPBoost avec l'enregistrement de données en base de données, y'aurais t-il possibilité d'avoir ici un p'tit tutoriel sur cela ? Merci
janus57 Membre non connecté
- Booster Fusée
- Voir le profil du membre janus57
- Inscrit le : 07/12/2007
- Groupes :
- Equipe Assistance
est-ce que le module articles/news (ou bugtracker en pdk) a été vu pour voir comment fonctionne la gestion des formulaires ?
Cordialement, janus57
Myster Membre non connecté
Booster Missile
- Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Fatal error: Call to a member function has_been_submited() on null in C:\xampp\htdocs\pbt\cours\controllers\CoursFormController.class.php on line 44
Code PHP :
<?php /*################################################## * SandboxFormController.class.php * ------------------- * begin : December 20, 2009 * copyright : (C) 2009 Benoit Sautel * email : ben.popeye@phpboost.com * * ################################################### * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. * ###################################################*/ class CoursFormController extends ModuleController { private $view; private $lang; /** * @var FormButtonDefaultSubmit */ private $submit_button; public function execute(HTTPRequestCustom $request) { $this->init(); $form = $this->build_form(); if ($this->submit_button->has_been_submited() && $this->form->validate()) { } $this->view->put('form', $form->display()); $this->view->add_lang($this->lang); return $this->generate_response(); } private function init() { $this->lang = LangLoader::get('common', 'cours'); $this->view = new FileTemplate('cours/CoursFormController.tpl'); $this->view->add_lang($this->lang); } private function build_form() { $security_config = SecurityConfig::load(); $form = new HTMLForm('coursForm'); // FIELDSET $fieldset = new FormFieldsetHTML('fieldset_1', $this->lang['form.title']); $form->add_fieldset($fieldset); $fieldset->set_description($this->lang['form.desc']); // SINGLE LINE TEXT $fieldset->add_field(new FormFieldTextEditor('text', $this->lang['form.input.text'], $this->lang['form.input.text.lorem'], array( 'maxlength' => 25, 'description' => $this->lang['form.input.text.desc']), array(new FormFieldConstraintRegex('`^[a-z0-9_ ]+$`iu')) )); $fieldset->add_field(new FormFieldTextEditor('textdisabled', $this->lang['form.input.text.disabled'], '', array( 'maxlength' => 25, 'description' => $this->lang['form.input.text.disabled.desc'], 'disabled' => true) )); $fieldset->add_field(new FormFieldUrlEditor('siteweb', $this->lang['form.input.url'], $this->lang['form.input.url.placeholder'], array( 'description' => $this->lang['form.input.url.desc']) )); return $form; } private function generate_response() { $response = new SiteDisplayResponse($this->view); $graphical_environment = $response->get_graphical_environment(); $graphical_environment->set_page_title($this->lang['title_page_form'], $this->lang['module_title']); $breadcrumb = $graphical_environment->get_breadcrumb(); $breadcrumb->add($this->lang['module_title'], CoursUrlBuilder::home()->rel()); return $response; } } ?>
babsolune Membre non connecté
Administrateur
- Administrateur
- Voir le profil du membre babsolune
- Inscrit le : 16/05/2008
- Site internet
- Groupes :
Il manque pas mal de choses en effet
Édité par babsolune Le 19/11/2017 à 14h35
Myster Membre non connecté
Booster Missile
- Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
babsolune Membre non connecté
Administrateur
- Administrateur
- Voir le profil du membre babsolune
- Inscrit le : 16/05/2008
- Site internet
- Groupes :
et surtout construire la fonction de sauvegarde (save) avec les setter qui vont enregistrer les données en bdd
regarde dans le module news comment c'est fait, pour savoir quel getter et setter mettre dans ton formulaire, ils sont déclarés dans la class de ton module (pour news : services/News.class.php)
Myster Membre non connecté
Booster Missile
- Booster Missile
- Voir le profil du membre Myster
- Inscrit le : 04/10/2010
- Groupes :
Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie