Dans cet exercice, vous allez utiliser les notions abordées précédemment pour construire un module de chat :
- Pour le markup HTML vous pouvez vous aider de Bootstrap.
- Les données devront être enregistrées dans une base de données à l'aide de PHP.
Le module doit être fonctionnel sans Js, le js sera une surcouche rajoutée afin de rendre l'expérience utilisateur plus fluide.
- index.php //fichier principal
- chat.php //contient le script de traitement du formulaire
- css/style.css //stylage
- views/ index.phtml
- Le markup sera divisé en 2 zones :
- un container incluant le contenu des discussions du chat
- un formulaire de saisie
- Dans un premier temps, Les données seront composées :
- d'un pseudo (nickname)
- d'un message (message)
ces données seront obligatoires pour valider le traitement du formulaire.
OK 1. Construire le markup HTML et la mise en forme. OK 2. Construire la base de données OK 3. Rajouter du faux contenu dans la base de données 4. Constuire votre requete de selection (SELECT), pour afficher le contenu du chat dans votre page principal
OK - faire un require du connecteur bdd
OK - préparer notre requête (récupérer l'ensemble des conversations, s'entrainer d'abord sur phpmyadmin)
OK - exécuter la requête
OK - récupérer le résultat et le stocker dans ($conversations)
- afficher le contenu de $conversations
- Traiter le formulaire (chat.php), en fin de traitement, mettre en place une redirection vers index.php
- tester si les champs POST du formulaire sont bien présents
- préparer la requete d'insertion (2 paramètres dynamiques !)
- exerequete
- redirection vers index.php
remarque pour la requete : pas besoin de faire apparaitre Id, et Created_at (mysql gère tout seul ces valeurs)
rajouter un lien sur chaque contribution dans index.phtml,
qui va appeler delete.php en lui fesant passer en argument
l'id de la conversation à supprimer
- nouvelle page (account.php -> account.phtml) :
champs :
- email (unique)
- pseudo (unique)
- mot de passe x2
- rajouter une nouvelle table dans la base de données (user) :
Id (PK)
Email (unique)
Nickname (unique)
Password
Created_at -> datetime
Last_login -> datetime pourra être NULL
- traitement du formulaire (accountTraitement.php)
tester si les champs $_POST existents
avant traitement
//comment on gère l'enregistrement du mot de passe dans la base
il redirigera vers index.php