Copyright © 2000 Anderson Silva
Copyright © 2000 Le Roy David
Article paru dans le n°50 de la Gazette Linux de février 2000.
Cet article est publié selon les termes de la Open Publication License. La Linux Gazette n'est ni produite, ni sponsorisée, ni avalisée par notre hébergeur principal, SSC, Inc.
Maintenant, je vais fermer cette série d'articles développer des applications Web avec un exemple trés utile qui, si vous le comprenez, vous aidera à appliquer les mêmes genres d'applications sur d'autres types d'applications en ligne. Je vais parler de la création de votre propre livret de signet en ligne. Une fois que vous aurez compris cet exemple, vous serez capable de faire des opérations assez simples en liant MySQL et php3.
Mais avant de commencer à vous parler du code source de php3 pour l'application de gestion des signets, vous devez tout d'abord créer votre propre table pour stocker votre livret de signet. Il y a plusieurs manière d'administrer des bases MySQL.
En mode Texte : Vous créez toutes vos tables, insérez les données, et effectuez des requètes à partir du client SQL. Pour effectuer ces manipulations, je vous conseille d'aller lire le livre de référence de MySQL sur http://www.mysql.com.
En mode Graphique : Vous pouvez descendre différents types d'interface graphique pour administrer une base mysql. Par exemple xmysql et kmysql. Pour descendre ces outils, je vous suggère d'aller sur http://www.tuxfinder.com
Une interface en ligne : c'est réelement mon option favorite. Il existe un trés bel outil nommé phpMyAdmin, qui vous permez d'administrer une ou plusieurs base de données MySQL à distance, via votre navigateur internet. Voici l'URL : http://www.phpwizard.net/phpMyAdmin
Choisissez ce qui vous va le mieux. Pour ce petit projet, je vais vous donner la configuration qui convient à vos besoins pour cette application.
Hôte de la base de donnée (Database Host) : myserver |
Nom de la base de donnée (Database Name) : mydatabase |
Nom de la table (Table Name) : signet |
Champs de la table signet(Fields in the bookmark table): id, url, description |
Utilisateur (Username) : myusername |
Mot de passe (Password) : mypassword |
Toutes les informations ci-dessus sont utiles lors du codage de l'application.
NB : Les champs sont des colonnes dans la base de donnés. L'id a été définit pour permettre toutes les entrées dans la base de donnée comme étant des entrées uniques (clé primaire). Elle doit être definie pour être unique, et s'auto-incrementer.
Une fois que votre base de donnée est définie et fonctionne, vous pouvez commencer à coder votre application, et voici comment faire :
Voici le formulaire qui capturera les données et les envera dans la base de donnée (ci-joint une copie du listing).
<HTML>
<head>
<title>Anderson's bookmark </title>
</head>
<body bgcolor=white>
<form ACTION="sendbook.php3" METHOD="Post">
<center><p>Enter The Bookmark Title: </font>
<input TYPE="text" SIZE="40" NAME="description"> </p>
<center><p>Enter The Bookmark URL: </font>
<input TYPE="text" SIZE="40" NAME="URL"> </p> </center>
<p><input TYPE="Submit" VALUE="Check"><br>
</form>
<a href="book.php3">View Bookmarks<</a>
</body>
</html>
Le formulaire ci-dessus devra avoir un champ texte : un pour l'adresse,
l'autre pour la description. Le Tag de formulaire sera chargé
d'expliquer au navigateur ce qu'il aura à faire lorsque l'on appuiera
sur le bouton Submit. Dans ce cas, cela lancera le script php3
sendbook.php3
, et envera les données au script. Le script suivant est
le script sendbook.php3
. Ce script ouvrira une connection vers une
base de données mySQL, et envera les données provenant du formulaire
HTML vers cette base.
<?php
//Si l'un des deux champs est vide, ne pas envoyer les données, mais envoyer un message d'erreur.
if(!($description=="") || !($URL==""))
{
//Connection au server de la base de donnée
mysql_connect(myserver, myusername, mypassword);
//Connection a la base de donnée
mysql_select_db('mydatabase');
//C'est la requète pour inserer les données dans la table signet.
// provenat de $description et $URL
// dans les colonnes description et URL
mysql_query("insert into signet(description, URL) values ('$description', '$URL')");
//Ferme la connection a la base de donnée.
mysql_close();
//Après que les données soient insérées, le navigateur renvera une page HTML avec les informations suivantes
echo "Merci pour avoir ajouté un signet<br>";
echo "<a href=book.php3>Voir les signets </a><br>";
echo "<a href=sendbook.html>En ajouter un Autre </a><br>";
}else{
echo "Vous devez allez au formulaire: <a href=sendbook.html>Sendbook </a>";
}
?>
Il y a un troisième script nommé book.php3
. Ce script questionnera les
données entrées par sendbook.php3
, et affichera à l'écran toutes
celles de votre fichier de signets.
<? echo "<HTML>";
echo "<HEAD><TITLE>Afsilva's Bookmark </title> </head>";
echo "<body bgcolor=white>";
echo "<IMG SRC=bookmark.jpg><br><br>";
//Connection un serveur de Base de donnée
mysql_connect(myserver, myusername, mypasword);
//Connection a la base
mysql_select_db("mydatabase");
//Execute une requète sur la base en demandant l'intégralité de son contenu
$result = mysql_query("SELECT * FROM bookmark");
//mysql_num_rows() retourne le nombre de signets de la base.
$rows = mysql_num_rows($result);
echo "Nombre de signet:";
//Affiche le nombre de signet (lignes)
echo $rows;
echo "<br><br>";
$i=0;
echo "<a href=sendbook.html>Insérer un autre signet </a>\n<br><br>";
echo "<table border=1>";
//Cela permet d'accéder à la requète par un tableau.
//L'index du tableau est le nom du champ.
while ($row = mysql_fetch_array($result))
{
echo "<tr><td>\n";
// L'opérateur . concatène deux chaines.
echo "<a href=".$row["URL"].">".$row["description"]."</a>\n";
echo "</td> </tr>";
}
echo"</table>";
mysql_close();
echo"<a href=../index.html target=_top>";
?>
echo "</HTML>";
?>
Avec ces trois fichiers vous devez être capable d'obtenir votre première application de gestion de signet, mais ne vous arretez pas là. Travaillez dessus, et rendez vos signets meilleurs et plus présentable. A partir de cet exemple, vous pourrez construire beaucoup d'autre type d'utilitaire en ligne, tel que des livres d'or, des compteurs, des enquètes, etc.
J'espère que cet article vous a été utile, et vous a appris quelque chose de nouveau. Envoyez vos questions et vos commentaires à cette adresse Anderson Silva
L'adaptation française de ce document a été réalisée dans le cadre du Projet de traduction de la Gazette Linux.
Vous pourrez lire d'autres articles traduits et en apprendre plus sur ce projet en visitant notre site : http://www.traduc.org/Gazette_Linux.
Si vous souhaitez apporter votre contribution, n'hésitez pas à nous rejoindre, nous serons heureux de vous accueillir.