Voici comment créer facilement un livre d'or avec Dreamweaver et PHP pour votre site sans (presque) avoir à mettre le nez dans le code. C Ce tutorial est la bonne occasion d'aborder plusieurs notions et fonctions de Dreamweaver (insertion de données, gestion de l'affichage, optimisation de l'affichage...) La conception de ce livre d'or est plus détaillée dans le livre Dreamweaver MX 2004 et PHP MySQL
D'abord, créez une table dans votre base de donnée, nommée par exemple messages, qui contient une clé primaire id, un titre, le contenu du message, l'auteur et la date. Vous pouvez bien sûr ajouter ou supprimer des champs selon vos désirs, nous allons développer l'exemple à partir de cette table en sql :
CREATE TABLE message (
id int(20) NOT NULL auto_increment,
titre varchar(255) NOT NULL default '',
message text NOT NULL,
auteur varchar(100) NOT NULL default '',
date date NOT NULL default '0000-00-00',
PRIMARY KEY (id)
) TYPE=MyISAM;
Vous pouvez copier-coller le code dans phpMyAdmin pour vous simplifier la tâche.
Comme toujours au départ, nous allons créer un jeu d'enregistrement, depuis la palette application. Si vous ne savez pas encore créer de connexion et de jeu d'enregistrements, faites d'abord le tutorial sur Flashxpress.
Refaites le jeu d'enregistrement de l'image, en choisissant donc la table message, avec tous les champs, même si l'id ne vous sera pas utile. Ne placez pas de filtre (WHERE) mais triez par id décroissant, ce qui affichera vous messages les plus récents en tête.
Ensuite, nous allons commencer à afficher le livre d'or. Pour débuter, construisez un tableau type qui accueillera chacun de vos messages. Voici un exemple que ce que vous pouvez faire.
| TITRE | posté le DATE par AUTEUR | |
| MESSAGE | ||
Définissez bien la mise en page de votre tableau au préalable car si vous devez y retoucher ensuite, cela vous posera certainement beaucoup de problèmes.
Ensuite, très simplement, sélectionnez l'endroit ou placer votre titre, cliquez sur l'onglet application de la palette insertion et cliquez sur Texte dynamique, symbolisé par ce bouton :
Cette fenêtre s'ouvre :
Dans votre jeu d'enregistrement s'affiche tous les champs que vous avez selectionnés. Cliquez sur titre, sans spécifier de format. Remarquez par ailleurs que le code correspondant d'affiche en bas. Il est toujours construit comme ça par Dreamweaver. Les variables des requètes sont de la forme :
$row_nomdujeudenregistrement['champselectionné']
Cliquez ensuite sur OK et à l'endroit selectionné dans votre tableau s'affiche {messages.titre}. Cela signifie dans Dreamweaver que le champ titre du jeu d'enregistrement messages va s'afficher à cet endroit.
Faites de même avec les autres valeurs : date, auteur et message à leur place respective. Malheureusement, la date ne s'affiche pas dans le format français de cette manière. Pour améliorer ça, téléchargez l'extension "Mysql Date Fr" de Jean-luc, elle permet de la même manière que les textes dynamiques d'afficher la date, mais avec la bonne forme (JJ-MM-AAAA).
Maintenant, il faut pouvoir afficher tous les messages du livre d'or, car à ce stade, seul le dernier message va s'afficher. Selectionnez avec la souris toutes les cellules du tableau en faisant attention de ne pas selectionner le tableau en entier. Si vous avez des difficultés à selectionner les cellules, placez la souris dans une cellule qui est dans un coin du tableau cliquez et glissez vers le coin opposé.
Ensuite, lorsque les cellules sont selectionnées, allez dans la palette application, cliquez sur le [+] pour ouvrir le menu déroulant et choisissez région répétée.
Cette fenêtre s'ouvre :
Elle vous permet de régler le nombre de messages que vous afficherez par page. Nous allons laisser le choix par défaut de 10 pour notre exemple mais ça n'a pas d'importance.
Cliquez sur OK, une petite languette "Répéter" s'affiche au coin de votre tableau. Si vous n'avez pas sélectionner d'afficher tous les messages, maintenant le problème est qu'on ne pourra en voir que 10. Il nous suffit donc dans la Insertion > Application > Barre de navigation du jeu d'enregistrement. Placez la barre de navigation où vous le voulez, avant ou après les messages et décidez si vous voulez afficher cette barre en texte ou en image.
Maintenant, vous pourrez afficher tous les messages. Mais on ne peut pas encore en écrire.
Pour permettre cela, on va créer un formulaire. Par simplicité pour l'exercice, nous allons le créer dans la même page. Pensez de nouveau tout de suite à sa mise en page, pour éviter les problèmes. Une astuce par exemple : Avant même d'ajouter les champs de formulaire cliquez sur insertion > formulaires > formulaire pour insérer un formulaire. Créez ensuite seulement un tableau de 2 cellules sur la largeur et du nombre de vos champs à remplir pour la hauteur + 1 à l'intérieur du tableau, la cellule supplémentaire servant à accueillir le bouton de validation.
Ensuite à gauche du tableau par exemple, renseignez les vignettes des champs à remplir et à droite, insérez les champs texte de formulaire. Inutile de créer un champ texte pour la date, nous allons faire en sorte qu'elle s'insére automatiquement à la date du jour. Pour cela, à la place d'un champ de texte, placez un champ masqué. Pensez à bien rensigner le nom de vos champs de formulaire, si possible avec le même nom que la table, donc ici : date, auteur, titre, message : Dreamweaver les reconnaitra automatiquement ensuite.
En ce qui concerne la date, placez ce minuscule bout de code avant la balise <html>, en faisant attention de ne pas l'insérer à l'intérieur d'une balise PHP :
<?php $maintenant = date("Y-m-d"); ?>
C'est en fait l'utilisation très simple d'une fonction prédéfinie de PHP qui donne la date actuelle, elle est écrite dans la variable $maintenant.
Ensuite, selectionnez le champ masqué date dans le formulaire et dans la palette propriété, dans le champ Valeur, renseignez :
<?php echo $maintenant; ?>
Cela écrira la valeur de la date actuelle dans ce champ. Rajoutez également un champ masqué nommé id sans valeur. En effet, comme ce champ dans la base s'auto-incrémente à chaque ajout, nous n'avons pas besoin de rensigner de numéro.
Dernière chose à faire sur ce point : créer l'insertion dans la base de donnée. Pour cela, application > [+] > Inserer un enregistrement. La fenêtre correspondante s'ouvre :
Réglez vos paramètres de connection et de table. Ensuite, si vous avez bien renseigné vos noms de champs dans le formulaire, Dreamweaver les reconnait et les affiche déjà. Vérifiez tout de même à chaque fois si vous n'avez pas fait d'erreur, dans ce cas corrigez et faites correspondre les champs de formulaires avec les bons champs de votre table. Vous pouvez ensuite préciser la page vers laquelle vos visiteurs seront redirigés après l'insertion de leur message. Si vous laissez ce champ vide, le retour se fera sur la même page.
Un dernier petit effort pour optimiser votre livre d'or : afficher un message tant qu'il n'y a pas de messages dans le livre d'or. Pour cela, selectionnez le tableau des messages et la barre de navigation, cliquez sur application > afficher la région > afficher la région si le jeu d'enregistrement n'est pas vide. A partir de là vous êtes sûr que le tableau ne sera affiché que s'il y a des messages. Ensuite, placez-vous ailleurs dans la page, tapez une phrase comme "Il n'y a pas encore de message dans ce livre d'or, vous pouvez m'en laisser un." Ensuite selectionnez cette phrase et faites la manipulation inverse, c'est à dire : application > afficher la région > afficher la région si le jeu d'enregistrement est vide.
Voilà tout ce qu'il vous faut normalement pour faire un livre d'or complet.
Pour plus d'informations concernant ce module, n'hésitez pas à me contacter. D'ailleurs si ce module vous a plu et que vous l'utilisez, merci de me prévenir, ça fait toujours plaisir. ;) Cependant, merci de ne pas manifester votre enthousiasme dans le livre de d'or d'exemple.
Ce tutorial a été réalisé pour Flashxpress et est également disponible ici : Créer un livre d'or sur Flashxpress
Exemple de site que vous pouvez construire avec Dreamweaver : poker.bwin.com. Développez votre propre site de paris sur le foot avec le logiciel Dreamweaver. Avec un peu d'expérience, vous saurez développer rapidement et efficacement un module qui permette à vos visiteurs de parier en direct. Vous pourrez alors proposer une interface qui permet de faire des paris sur le foot sur votre site.


