TUTORIELS 
PHP : Construire un weblog

Page 1 | 2 | 3 | 4

Découvrir comment construire ce type d'application à mi-chemin entre le livre d'or et le gestionnaire de contenu.
 (30 janvier 2004)
 

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();
  }
[...]

Forums
* Discutez en sur les forums

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

 
[ Xavier BorderieJDNet
 
Accueil | Haut de page