2.9 KiB
TP5 : prise en main de codeigniter
Installation
Téléchargez les sources de codeigniter v3 (il s'agit d'un fork qui évite certains
porblèmes de compatibilité avec des versions récentes de php), et placez les dans votre
public_html.
- Importez dans votre base de données la table todo.sql
- Copiez le repertoire assets à la racine de votre application.
- Copiez les contrôleurs, modèles et vues dans votre application.
- Configurez les paramètres nécessaires à codeigniter :
config/config.phpconfig/database.php
$config['base_url']='/~login/chemin/vers/codeigniter';
Vous devriez obtenir une application todolist fonctionnelle à l'url :
https://dwarves.iut-fbleau.fr/~login/chemin/vers/codeigniter/index.php/todo
Suppression des tâches
Modifiez le code pour la suppression des tâches.
Edition des tâches
Modifiez le code (contrôleur et modèle) pour l'édition des tâches.
Tri de la todolist
Ajoutez la possibilité de trier la todolist par ordre (croissant/décroissant) alphabètique
Créer sa propre classe controller
Il est possible de redefinir, ou d'étendre les classes systèmes dans votre répertoire application/core. Par exemple, pour étendre la classe
controller de codeigniter, vous pouvez écrire votre propre classe MY_Controller.php
class MY_Controller extends CI_Controller {
}
Utilisez ce moyen pour définir une nouvelle méthode render, qui permet d'utiliser un layout quelconque pour afficher une vue.
Création de compte
-
Ajoutez dans votre de base de données une table
user, qui permettra de stocker des utilisateurs. attributs : nom, prenom, email (clé primaire), password. -
Complétez le contrôleur de création de compte. On rappelle que la base de données doit contenir un hash du mot de passe (cf tp4).
<?php /** * We just want to hash our password using the current DEFAULT algorithm. * This is presently BCRYPT, and will produce a 60 character result. * * Beware that DEFAULT may change over time, so you would want to prepare * By allowing your storage to expand past 60 characters (255 would be good) */ echo password_hash("rasmuslerdorf", PASSWORD_DEFAULT); ?><?php // Voir l'exemple fourni sur la page de la fonction password_hash() // pour savoir d'où cela provient. $hash = '$2y$07$BCryptRequires22Chrcte/VlQH0piJtjXl.0t1XkA8pw9dMXTpOq'; if (password_verify('rasmuslerdorf', $hash)) { echo 'Le mot de passe est valide !'; } else { echo 'Le mot de passe est invalide.'; } ?> -
Ajoutez un formulaire d'authentification.
-
Utilisez une session pour proteger l'accès à la todolist par authentification.
-
Ajouter à la table todo un lien vers la table user, et modifez l'ensemble de l'application pour que chaque utilisateur possède sa propre todolist.
