Introduction aux pages web actives avec PHP et MySQLVersion 1.02 du 23/02/1999 Les pages web actives sont extrêmement utiles à ceux qui veulent rendre leur site plus vivant et faciliter les mises à jour de celui-ci par la mise en place de procédures automatiques. Mais comment faire? SommaireIntroductionRendre un site web vivant est un travail de titan : mettre à jour les informations, changer régulièrement la page d'accueil... à tel point que l'on pourrait y passer ses journées entières. La solution pour faciliter ce travail est d'automatiser ces modifications grâce à des pages dites " actives ". PHP est un langage de programmation qui s'inclut dans le code HTML pour effectuer certaines opérations qui peuvent aller d'insérer la date du jour à retrouver une information dans une base de données. Dans cet article, je vais vous présenter un exemple qui met en jeu le stockage d'une information dans une base de données et puis la récupération de cette information. Pourquoi PHP ?Pour faire des CGI actuellement il y a un standard : le Perl. J'ai essayé de regarder à quoi cela ressemblait, je n'ai rien compris. Microsoft a son standard : les ASP, basés sur du Visual Basic, malheureusement je ne parle pas ce langage et ça ne m'a pas plus parlé que le Perl. On m'a parlé de PHP pendant les premières journées Linux organisées par le LUG de Strasbourg. Pourquoi ça m'a plu :
Thème de l'exemplePour les fêtes de fin d'année, tout le monde envoie des cartes de voeux. Ayant à disposition quelques belles photos de Strasbourg, j'ai pensé à en faire des cartes de voeux électroniques. Vous pouvez tester en live : http://www.cigogne.net/cartes/nouvelle.html pour créer une carte. Vous pouvez voir un exemple de carte à http://www.cigogne.net/cartes/?n=16 Fonctionnement généralL'utilisateur A veut envoyer une carte à l'utilisateur B: A se connecte sur la page " nouvelle.php ". Il remplit le formulaire : son nom, son adresse email, le nom, l'adresse email de son correspondant B, un texte et choisit la photo. Après avoir validé ce formulaire, toutes ces informations sont stockées dans la base de données, un email est envoyé à B et une page HTML de confirmation est affichée pour A. Dans l'email envoyé à B il y a un petit message l'invitant à se connecter sur l'adresse du serveur du type : http://www.cigogne.net/cartes/index.php?n=32 " index.php " est la page web active qui permet de retrouver la carte
postale passée en paramètre (n=32). Installation de PHP 3Sur votre serveur linux, vous devez avoir trois éléments
installés (entre parenthèses, les versions que j'utilise) : L'installation d'Apache et MySQL ne pose pas de problème particulier à partir des RPM. Par contre, vous devrez certainement recompiler PHP car le RPM fourni par RedHat ne prend pas en charge les bases de données. Installation facile d'Apache + PHP + MySQL sur RedHat 5.2- Récupérer le source du RPM mod_PHP : c'est le source de
la version d'origine RedHat Site RedHat : ftp://ftp.redhat.com/pub/redhat/redhat-5.2/SRPMS/SRPMS/mod_php3-3.0.5-2.src.rpm - Apache Vérifiez qu'Apache est installé sur votre système C'est la version d'origine de RedHat, elle est sur votre CD. Si vous
ne l'avez pas, vous pouvez la trouver aux adresses suivantes : Il faut aussi installer apache-devel-1.3.3-1. Il est aussi sur le CD
RedHat. Sinon voici les adresses : - MySQL MySQL n'est pas livré dans la distribution RedHat, vous le trouverez
aux adresses suivantes : Il faut aussi récupérer MySQL client et devel: MySQL devel MySQL Client - Installation des RPM Installation de MySQL : Si Apache n'est pas installé : Installation des sources de PHP : - Compiler PHP en module avec le support MySQL Editez le fichier spec : Dans la section %build, rajoutez dans le ./configure une ligne : Personnellement, je modifie la ligre with-config-file-path=
en with-config-file-path=/etc/httpd/conf \ Après, vous aurez quelque chose qui ressemble à ça :
Suite à cette modification il faut reconstruire un exécutable : Pour installer le .rpm créé : Cela vous installe la documentation dans /usr/doc/mod_php3-3.0.5/ et le module Apache dans /usr/lib/apache/libphp3.so vi /etc/httpd/conf/httpd.conf Enlevez le # devant vi /etc/httpd/conf/srm.conf Enlevez le # devant Redémarrez Apache : kill -HUP `cat /var/run/httpd.pid` Et ça marche ! Vous pouvez faire un petit fichier HTML pour tester : <html>
et n'oubliez pas de nommer le fichier avec l'extention .php Création de la table dans la base de donnéesVoici le SQL pour créer la table :
( numero INT not null AUTO_INCREMENT, date datetime DEFAULT '0000-00-00 00:00:00' NOT NULL, nom VARCHAR(100), email VARCHAR(100), nom_dest VARCHAR(100), email_dest VARCHAR(100), message TEXT, signature VARCHAR(100), carte VARCHAR(100), PRIMARY KEY(numero) ); " numero " est le code qui va servir à retrouver la carte, il est
de type AUTO_INCREMENT comme ca il n'y a même pas besoin de s'en
occuper. Explication du codeLe code PHP est intégré au HTML entre des balises ("tags") spécifiques. Il en existe plusieurs formes mais elles ont les mêmes fonctions : <?PHP ou sa forme raccourcie : <? code_php(); ?> ou sa forme longue qui permet d'éviter les problèmes avec les
éditeurs HTML wysiwyg : Même si ce n'est pas dans l'ordre logique, commençons par
le plus simple ! Remarque : dans le code html en exemple, le code PHP est mis en bleu, et les commentaires en rouge. OuvertureUn certain nombre de choses pourraient être ajoutées à cet exemple :
Tout cela n'est qu'une question de temps. Pour information, j'ai consacré 4 heures au développement, test et mise en ligne de cet exemple (moins longtemps que pour écrire ces quelques lignes)
N'hésitez pas à me faire parvenir vos commentaires concernant cette page : olivier@cigogne.net Et passez voir mon site à http://www.cigogne.net/: toutes les sorties à Strasbourg (concerts, expositions, conférences, etc) + l'annaire des web alsaciens. RéférencesSite PHP Serveur archive de RPM Tutorial Exemple de code Archive de la mailing list php3 Historiquele 23/02/99 (V1.02) : oups ... il faut aussi installer le RPM apache-devel pour que ça marche ! Corrigé dans la procédure d'installation. le 22/02/99 (V1.01) : correction d'URL défaillante. Version 1.0 : rajouté l'installation complète de PHP pour Linux. Modifié quelques termes utilisés. Version 0.1 : version initiale.
Olivier MartineauDe formation mi-commerciale, mi-informatique, il travaille comme ingénieur technico-commercial pour un revendeur informatique de Strasbourg. Par ailleurs, il gère depuis 3 ans le serveur web cigogne.net qui a démarré sous Mac, puis a tourné pendant quelques mois sous NT, et enfin utilise Apache + PHP sous Linux depuis mai 98. Email : olivier@cigogne.net
|
|
|
|
Index | News | Amiga | BeOS | Linux | Liens (c)1999-2000, Lignes Alternatives |