Il nous reste donc à écrire
les fonctions résultantes : afficherCreer()
qui affichera le formulaire de création, validerCreation()
qui intégrera la note dans la base, afficherModifier()
pour le formulaire de modification, validerModification()
et validerSuppression() pour respectivement
modifier et supprimer une note. Si aucun critère n'est rempli
pour lancer ces fonctions, on affiche l'accueil...
afficherCreer()
et afficherModifier() partagent
les mêmes caractéristiques : elles affichent un formulaire,
les champs étant nommés correctement pour être
récupérés lors de la validation. afficherModifier()
offre quelques aspects supplémentaires, donc nous ne montrerons
ici que celle-ci.
[...]
function afficherModifier($id)
{
$note = new Note();
$note->get_note($id);
if ($note->etat == "ouvert")
{
$etat = true;
}
else $etat = false;
?>
<form method="GET" action="<?=$_SERVER['PHP_SELF'];?>">
<input type="hidden" name="date" value="<?=$note->date;?>">
<input type="hidden" name="id" value="<?=$note->id;?>">
Titre de la note<br>
<input type="text" name="titre" size="60" value="<?=$note->titre;?>">
<br>
<br>
Contenu de la note <br>
<textarea name="texte" cols="60" rows="10"><?=$note->texte;?></textarea>
<br>
<br>
Etat de la note<br>
<select name="etat">
<option value="ouvert" <?=($etat)?"selected":null;?>>ouvert</option>
<option value="fermé" <?=($etat)?null:"selected";?>>fermé</option>
</select>
<br>
<br>
<input type="Submit" name="modification" value="Modifier
la note">
<input type="Submit" name="suppression" value="Supprimer
la note">
</form>
<?
}
[...]
L'aspect le plus important ici est
la réutilisation des données de la base (sans quoi,
on ne modifierait pas vraiment la note...). Notez particulièrement
la manière dont on gère le "selected"
d'une balise OPTION...
Pareillement, nous "sautons"
validerCreation(), pour ne vous
présenter que validerModification()
et validerSuppression().
[...]
function validerModification($id, $titre, $texte, $etat)
{
$note = new Note();
$note->id = $id;
$note->titre = addslashes($titre);
$note->texte = addslashes($texte);
$note->etat = $etat;
$note->maj_note($id);
if ($note->id != -1)
{
?>La mise à jour s'est bien passée.<br><?
}
else
{
?>Il y a eu un problème : modification impossible.<?
}
?><br><br><?
afficherAccueil();
}
function validerSuppression($id)
{
$note = new Note();
$note->suppr_note($id);
if ($note->id != -1)
{
?>La note a été correctement supprimée.<?
}
else
{
?>Il y a eu un problème : suppression impossible.
Il est possible que la note ai déjà été supprimée.<?
}
?><br><br><?
afficherAccueil();
}
[...]
|
Comme vous le constater, l'utilisation
de l'objet Note() nous permet de
résoudre très rapidement les problème de création,
de mise à jour et de suppression à l'aide de méthodes
explicites...
Notez l'utilisation de la fonction PHP addslashes(),
sans laquelle nous pourrions facilement voir des erreurs surgir
en cas d'utilisation de guillemets et autres...
Voici enfin notre code
source.
Page 1 | 2
| 3 | 4
|