Pourquoi
?
Hébergement
Création
Vérifier
F.
A. Q.
Manuel
Conditions
Commander
Réserver
Contact
Manuel
Votre compte
Les scripts CGI
PHP
MySQL
MySQL et PHP
SSI
Les domaines
Petit glossaire
|
PHP est un excellent langage de programmation de
type pré-processeur, c'est-à-dire qu'il permet de rajouter
des instructions supplémentaires au code de base de vos pages web
qui seront exécutées du côté serveur avant que
le résultat ne soit envoyé à vote navigateur. Il représente
une alternative avantageuse à la complexité d'utilisation
de Perl dans, notamment, les scripts CGI d'interfaçage avec une
base de données.
Pour pouvoir exécuter des instructions PHP dans vos pages web
sur notre serveur, vous devez nommer vos pages avec l'extension .php,
.php3 ou .phtml.
Voici un exemple basique d'instructions PHP intrégrées
dans du code HTML d'une page web :
<html>
<head><title>Exemple d'utilisation de PHP</title></head>
<body>
<? if ($nom):?>
<? echo "Bonjour $nom!";?> //
affiche le contenu de $nom s'il n'est pas vide
<? else:?> // sinon
affiche le formulaire
<form method="POST"> //
création du mini formulaire web
Quel est votre nom ? <input name=nom>
<p><input type=submit>
</form>
<? endif;?> //
fin de la condition
</body>
</html>
Chaque instruction ou groupe d'instructions PHP est balisée par
les containers <? et ?>. Cet exemple affiche le nom du
visiteur que ce dernier aura entré dans le champ. Nous allons voir
maintenant comment interfacer une page web avec une base de données
au format très courant dbase par l'intermédiaire de
PHP.
1: Créez une table dbase
<?
$dbname = "test.dbf"; //
votre table doit avoir l'extension .dbf
// définition de la table
avec 3 champs : nom, prenom et age
$def = array(
array("nom", "C",20), //
nom est de type caractère de taille 20
array("prenom", "C",20),
array("age", "N",3,0) //
age est un nombre à trois entiers sans décimale
);
// création de la table
if (!dbase_create($dbname, $def))
{print "<strong>Erreur!</strong>";}
else
{print "<strong>Votre table ".$dbname." a été
créee avec succès !</strong>";}
?>
Pour que la table test.dbf soit créée, exécutez
ce code. Vous pouvez aussi la créer avec des logiciels tels que
Dbase, Access ou Excel. Si vous y entrez des données par la même
occasion, il vous faudra convertir les caractères accentués
de votre table au format ANSI avec un bon éditeur de texte car ces
logiciels sauvegardent une table dbase au format de caractères OEM
que PHP ne convertit pas, hélas, en ANSI.
2 : Ajouter des enregistrements à la table
<?
if ($nom or $prenom or $age) { //
teste si nom, prenom ou age ont été remplis
$db=dbase_open(test,2); //
ouvre la base test.dbf en mode 2 (lecture et écriture)
$def = array($nom,$prenom,$age); //
définit le tableau $def pour contenir les données
dbase_add_record($db, $def); //
ajoute le contenu de $def dans la table
$nf = dbase_numfields($db); //
pour connaître le nombre de champs de la table
print "Nombre de champs : ".$nf."<br>";
$nr = dbase_numrecords($db); //
pour connaître le nombre d'enregistrements de la table
print "Nombre d'enregistrements : ".$nr."<br>";
dbase_close($db); // ferme
la table
}
?>
// création du formulaire
de remplissage de la table
// le nom du fichier contenant
le code PHP est à relié à action
<form method="POST" action="dbase_add.php3">
Entrer Nom : <input type=text name=nom><br>
Entrer Prénom : <input type=text name=prenom><br>
Entrer Age : <input type=text name=age><br>
<br><input type=submit name=ajouter value=ajouter>
</form>
ATTENTION, le module dbase de PHP ne protège pas en standard une
table de données contre des écritures simultanées
de plusieurs utilisateurs. Si cela se produisait, votre table pourrait
être détruite ! Pour éviter cela, soit vous n'autorisez
l'écriture qu'à une seule personne, soit vous complétez
le code précédent avec la fonction
flock() de PHP.
Cette fonction, qui ne fonctionne pas sur Windows 95/98, est simple à
utiliser, reportez-vous au manuel de PHP.
3 : Visualiser les enregistrements
<?
$db=dbase_open(test,0); //
ouvre la table en lecture uniquement
$nf = dbase_numfields($db);
print "Nombre de champs : ".$nf."<br>";
$nr = dbase_numrecords($db);
print "Nombre d'enregistrments : ".$nr;
?>
<br><br>
<table border=1 width=400 BGCOLOR=yellow>
<tr BGCOLOR=green><td width=10%>N°</td><td
width=40%>Nom</td><td width=40%>Prénom</td><td width=10%>Age</td></tr>
<?
for ($a=1; $a <= $nr; $a++) { //
mouline chaque enregistrement à partir de 1
print "<tr><td>$a</td>";
$rec = dbase_get_record($db, $a);
//
met dans $rec l'enregistrement avec le n° $a
for ($i=0; $i < $nf; $i++) { //
mouline chaque champ à partir de 0
print "<td> ".$rec[$i]."
</td>"; // affiche le champ $i de l'enregistrement
$rec
}
print "</tr>";
}
dbase_close($db);
?>
</table>
4 : Effacer un enregistrement d'une table
<?
if ($numero) {
$db=dbase_open(test,2);
dbase_delete_record($db,$numero); //
marque le $numero d'enregistrement à effacer
dbase_pack($db); // concrétise
l'effacement dans la table
dbase_close($db);
}
else {
print "Veuillez entrer un numéro d'enregistrement.";
}
?>
<br>
// Mettez comme valeur dans action
le nom du fichier contenant ce code
<form method="POST" action="dbase_delete.php3">
Entrer le numéro de l'enregistrement à
effacer : <input type=text name=numero><br>
<br>
<input type=submit name=effacer value=effacer>
</form>
Nous vous conseillons de tester ces codes et de les
personnaliser en local avant de les transférer sur vos sites. Vous
pouvez bien sûr réunir les fonctions d'ajout, de visualisation
et de suppression dans un même fichier. La partie suivante du manuel
consacrée à Mysql vous donnera un autre exemple d'utilisation
de PHP.
Pour en savoir plus sur PHP et télécharger
une version, visitez le site
officiel ou son site
miroir en France. Vous trouverez aussi des informations concernant
PHP sur les excellents sites :
Pour tester PHP en local, il vous faudra aussi un serveur web. Nous vous
conseillons
OmniHTTPd
pour windows et bien sûr Apache
pour Unix ou Windows.

|