Le but de cet exercice est de vous apprendre la structure basique d'un script PHP qui se décompose en trois partie:
Acquisition d'une valeur
Calcul sur cette valeur
Affichage du résultat
Acquisition d'une valeur
La première étape va consister à générer un formulaire HTML qui vous permettra d'afficher:
Une zone de saisie de texte (pour entrer la valeur à convertir).
Un bouton pour valider la saisie (et passer à l'étape suivante).
Le code du formulaire est le suivant:
<form>
<label for='TextEdit1'>Saisir la valeur à convertir:</label>
<br />
<input type='text' name='valeur' id='TextEdit1' /><br />
<input type='submit' value='Convertir!' />
</form>
Ce code vous permettra d'afficher ceci:
Calcul sur cette valeur
Lors de l'appui sur le bouton, une requête va être transmise depuis le navigateur du client vers le serveur.
Le serveur va donc renvoyer une nouvelle page au client. Cela correspond donc à un nouveau chargement de la page.
Le script doit donc différencier les différents chargements de la page:
Premier chargement de la page: On affiche le formulaire.
Deuxième chargement: La valeur est récupérée et on va effectuer la conversion et l'affichage du résultat.
Nous aborderons plus tard cette notion. Les explications suivantes concernent uniquement le deuxième chargement de la page.
Pour récupérer la valeur, on utilisera une variable superglobale: $_GET.
Comme nous avons donné un attribut name nommé valeur dans la zone de saisie, nous devrons utiliser la syntaxe suivante pour récuperer cette valeur et la stocker dans une variable (nommée Francs dans cet exemple):
$Francs=$_GET['valeur'];
La conversion s'effectue ensuite normalement en posant l'opération désirée. Le résultat sera affecté dans une variable nommée Euros:
$Euros=$Francs*6.55957;
Affichage du résultat
Il ne reste ensuite plus qu'a utiliser la fonctionecho:
echo "Le résultat de la conversion vaut: $Euros €.";
Exemple d'exécution dans un cas ou la variable $Francs vaut 100:
Le résultat de la conversion vaut: 100 €.
echo n'est pas vraiment une fonction; C'est techniquement une structure du langage (c'est à dire un mot réservé par la langage pour afficher une chaîne de caractère.). echo peut être utilisé pour:
Afficher du texte
Afficher le contenu d'une variable
Envoyer du code HTML
Code permettant de gérer les différents chargements de la page
Nous aborderons plus tard les tests, mais nous allons utiliser tel quel une structure de document particulière:
Il s'agit en fait de tester si la variable $_GET['valeur'] existe. Il y a donc deux possibilités:
La variable n'existe pas: Nous ne sommes pas encore passés par le formulaire.
La variable existe: Nous avons cliqué sur le bouton et nous voulons donc passer à l'étape suivante (calcul et affichage).
Ainsi, on va mettre les portions de code expliquées précédemment dans des zones bien précises.
La syntaxe générale est de la forme:
De la même façon, on va tester que la variable ait bien une valeur (que l'utilisateur n'ait pas cliqué sur le bouton sans avoir entré de valeur).
On ajoute une autre condition: if (isset($_GET['valeur']) AND !empty($_GET['valeur']) )
Script complet
<?php
if (isset($_GET['valeur']) AND !empty($_GET['valeur']))
{
$Francs=$_GET['valeur'];
$Euros=$Francs/6.55957;;
echo "Le résultat de la conversion vaut: $Euros €.";
}
else
{
echo "
<form>
<label for='TextEdit1'>Saisir la valeur à convertir
(en Francs):</label><br />
<input type='text' name='valeur' id='TextEdit1' /><br />
<input type='submit' value='Convertir!' />
</form>
";
}
?>