| Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente |
| slam4:php:codeigniter:orm [2012/12/09 16:14] – [Gestion des utilisateurs] jcheron | slam4:php:codeigniter:orm [2019/08/31 14:21] (Version actuelle) – modification externe 127.0.0.1 |
|---|
| <html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:validation" class="wikilink1" title="Validation des formulaires"><< Validation des formulaires</a></div></html><html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:doctrine" class="wikilink1" title="Doctrine">ORM Doctrine >></a></div></html> | <html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:validation" class="wikilink1" title="Validation des formulaires"><< Validation des formulaires</a></div></html><html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:doctrine" class="wikilink1" title="Doctrine">ORM Doctrine >></a></div></html> |
| |
| IgnitedRecord est un ORM qui peut être associé à CodeIgniter.\\ | - [[slam4:php:codeigniter|Introduction à CodeIgniter]] |
| | - [[slam4:php:codeigniter:helpers|Helpers]] |
| | - [[slam4:php:codeigniter:libraries|Bibliothèques]] |
| | - [[slam4:php:codeigniter:session|Sessions CodeIgniter]] |
| | - [[slam4:php:codeigniter:validation|Validation des formulaires]] |
| | - ORM IgnitedRecord |
| | - [[slam4:php:codeigniter:doctrine|Doctrine]] |
| | - [[slam4:php:codeigniter:javascript|Javascript et codeIgniter]] |
| | |
| | IgnitedRecord est un ORM qui peut être associé à CodeIgniter.\\ Mais le projet semble abandonné... ->Utilisation déconsillée\\ |
| Lien de téléchargement : [[https://www.assembla.com/spaces/IgnitedRecord/documents/aC-m-2SoGr3y4Oab7jnrAJ/download/aC-m-2SoGr3y4Oab7jnrAJ|IgnitedRecord download]] | Lien de téléchargement : [[https://www.assembla.com/spaces/IgnitedRecord/documents/aC-m-2SoGr3y4Oab7jnrAJ/download/aC-m-2SoGr3y4Oab7jnrAJ|IgnitedRecord download]] |
| |
| </code> | </code> |
| |
| | ==== Chargement des models ==== |
| | Le chargement peut être automatique, par le biais de application/config/autoload.php |
| | |
| | <code php> |
| | $autoload['model'] = array('categorie','utilisateur'); |
| | </code> |
| | |
| | ou bien se faire dans un contrôleur : |
| | |
| | <code php> |
| | $this->load->model('utilisateur'); |
| | </code> |
| ==== Gestion des utilisateurs ==== | ==== Gestion des utilisateurs ==== |
| === Contrôleur utilisateurs === | === Contrôleur utilisateurs === |
| Créer la vue v_utilisateurs pour afficher la liste des utilisateurs : | Créer la vue v_utilisateurs pour afficher la liste des utilisateurs : |
| La variable $utilisateurs est récupérée par la méthode all du contrôleur utilisateurs | La variable $utilisateurs est récupérée par la méthode all du contrôleur utilisateurs |
| <code php |h application/controllers/utilisateurs.php> | <code php |h application/views/v_utilisateurs.php> |
| <?php | <?php |
| foreach ($utilisateurs as $user){ | foreach ($utilisateurs as $user){ |
| Tester en allant à l'adresse http://localhost/testPhp/utilisateurs/all/ | Tester en allant à l'adresse http://localhost/testPhp/utilisateurs/all/ |
| |
| | {{:slam4:php:codeigniter:users-list.png?|}} |
| |
| |
| | ==== Ajout d'utilisateur ==== |
| | === Modification du contrôleur === |
| | Modifier le contrôleur utilisateurs : |
| | * La méthode **add** permet d'afficher un formulaire **v_utilisateur_add** permettant d'ajouter un utilisateur en saisissant son nom. |
| | * La méthode **submit_add** effectue la validation du formulaire en cas de succès de la validation puis appelle la vue **v_success_add** |
| |
| |
| | <code php |h application/controllers/utilisateurs.php> |
| | <?php |
| | class Utilisateurs extends CI_Controller{ |
| | public function add(){ |
| | $this->load->helper(array('form', 'url')); |
| | |
| | $this->load->library('form_validation'); |
| | |
| | $this->form_validation->set_rules('username', 'Username', 'trim|required|min_length[5]|max_length[12]|xss_clean'); |
| | if ($this->form_validation->run() == FALSE) |
| | { |
| | $this->load->view('v_utilisateur_add'); |
| | } |
| | else |
| | { |
| | $this->submit_add($_POST["username"]); |
| | } |
| | } |
| | |
| | public function submit_add($name){ |
| | $new_user = $this->utilisateur->new_record(); |
| | $new_user->nom=$name; |
| | $new_user->save(); |
| | $this->load->view('v_success_add',array('user'=>$new_user)); |
| | } |
| | |
| | public function all(){ |
| | $users=$this->utilisateur->find_all(); |
| | foreach ($users as $user){ |
| | $user->cat=$user->related('categorie')->get(); |
| | } |
| | $this->load->view('v_utilisateurs',array('utilisateurs'=>$users)); |
| | } |
| | } |
| | ?> |
| | </code> |
| | |
| | === Ajout des vues === |
| | La vue **v_utilisateur_add** sera appelée par l'intermédiaire du contrôleur **utilisateurs/add** |
| | <code php |h application/views/v_utilisateur_add.php> |
| | <html> |
| | <head> |
| | <title>Ajout utilisateur</title> |
| | </head> |
| | <body> |
| | |
| | <?php echo validation_errors(); ?> |
| | |
| | <?php echo form_open('utilisateurs/add/'); ?> |
| | |
| | <h5>Nom d'utilisateur</h5> |
| | <input type="text" name="username" value="<?php echo set_value('username'); ?>" size="50" /> |
| | |
| | <div><input type="submit" value="Ajouter utilisateur" /></div> |
| | |
| | </form> |
| | |
| | </body> |
| | </html> |
| | </code> |
| | |
| | La vue **v_success_add** sera appelée après soumission du formulaire par le contrôleur **utilisateurs/submit_add** |
| | <code php |h application/views/v_success_add.php> |
| | <?php |
| | echo($user->nom." ajouté"); |
| | ?> |
| | </code> |
| | |
| | Tester en allant à l'adresse : http://localhost/testPhp/utilisateurs/add/ |
| | |
| | |
| | {{:slam4:php:codeigniter:user-add.png?|}} |
| | |
| | Vérifier l'insertion dans la base de données du nouvel utilisateur. |
| | |
| | |
| | <html><div class="todo"> |
| | Sur le même principe que pour les utilisateurs, en respectant MVC : |
| | <ul> |
| | <li>Créer un contrôleur categories</li> |
| | <li>Afficher la liste des catégories, et les utilisateurs correspondants</li> |
| | <li>Créer la fonctionnalité d'ajout de catégorie</li> |
| | <li>Créer la fonctionnalité de modification d'une catégorie existante</li> |
| | <li>Créer la fonctionnalité de suppression d'une catégorie</li> |
| | </ul> |
| | </div></html> |
| | |
| | <html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:validation" class="wikilink1" title="Validation des formulaires"><< Validation des formulaires</a></div></html><html><div class="btn"><a href="/doku.php?id=slam4:php:codeigniter:doctrine" class="wikilink1" title="Doctrine">ORM Doctrine >></a></div></html> |