<<precedentsuivant>>

L'exemple suivant est très caractéristique de l'utilisation de PHP, c'est-à-dire pour générer une page HTML dynamique. Il permet de faire le lien entre :

  • Un formulaire HTML
  • Une base de données (MySQL)
  • Quelques fonctions avancées de PHP (génération d'un fichier que l'utilisateur pourra sauvegarder)

Le formulaire est le suivant :

Le fonctionnement :

  • A l'affichage de la page, le script va chercher les informations dans la base de données afin de remplir par défaut les noms, prénoms, adresse et téléphone.
  • L'utilisateur coche les moments de l'année qu'il a préféré
  • Il valide ses choix en cliquant sur le bouton "valider"
  • Le script PHP va alors récupérer toutes les données et envoyer le résultats dans un fichier que l'utilisateur pourra télécharger

Le code source du script PHP est le suivant (cliquez ici pour le télécharger)

<?
if(isset($valider)) {
/* Stockage des informations dans une variable string */
$data = "Détail du sondage : \n\n";
$data .= "Nom $nom\nPrenom $prenom\nAdresse $adresse\nTelephone $telephone\n\n";
$data .= "Ses évènements les plus importants sont :\n";

if(isset($moments)) {
foreach($moments as $value)
$data .= "\t- $value\n";
}

/* Envoi du fichier pour le telecharger */
header("Content-type: application/text");
header("Content-disposition: inline; filename=synthese.txt");
header("Content-length: " . strlen($data));
echo $data;
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="content-type">
<title>Exemple PHP</title>
<meta content="Vincent PETAS" name="author">
</head>
<body alink="#000099" vlink="#990099" link="#000099" style="color: rgb(0, 0, 0); background-color: rgb(192, 192, 192);">

Pour valiser l'exemple, veuillez compl&eacute;ter ces
informations :<br>
<br>

<?php
/* Récupère les données mises dans la base de données */
/* Connexion à la base */
$connect = mysql_connect("localhost", "php_user", "")
or die("Impossible de se connecter<br>\n");
print "Connexion réussie<br>\n";

/* Sélection de la table */
mysql_select_db("php", $connect) or die("Impossible de sélectionner la table<br>\n");

/* Exécuter la requête SQL */
$query = "SELECT * FROM php_table";
$result = mysql_query($query) or die("Echec de la requête<br>\n");

/* Extraction des résultats */
$row = mysql_fetch_array($result, MYSQL_ASSOC);

/* Libération des résultats */
mysql_free_result($result);

/* Fermeture de la connexion */
mysql_close($connect);
?>

<form name="form_ex" method="get" target="">
<table style="text-align: left; width: 250px; height: 80px;" border="1" cellspacing="2" cellpadding="2">
<tbody>
<tr>
<td style="vertical-align: top; text-align: center;">NOM :<br>
</td>
<td style="vertical-align: top;"> <input value="<?php echo $row['nom']?>" name="nom" type="textbox"> </td>
</tr>
<tr>
<td style="vertical-align: top; text-align: center;">PRENOM :<br>
</td>
<td style="vertical-align: top;"> <input value="<?php echo $row['prenom']?>" name="prenom" type="textbox"> </td>
</tr>
<tr>
<td style="vertical-align: top; text-align: center;">ADRESSE :<br>
</td>
<td style="vertical-align: top;"> <input value="<?php echo $row['adresse']?>" name="adresse" type="textbox"> </td>
</tr>
<tr>
<td style="vertical-align: top; text-align: center;">TELEPHONE :<br>
</td>
<td style="vertical-align: top;"> <input value="<?php echo $row['telephone']?>" name="telephone" type="textbox"> </td>
</tr>
</tbody>
</table>
<br>
<br>
Les moments de l'ann&eacute;e :<br>
<br>
<input type="checkbox" name="moments[]" value="WEI 2003">WEI 2003<br>
<input type="checkbox" name="moments[]" value="Desintegration">Desintegration<br>
<input type="checkbox" name="moments[]" value="Flam's IR">Flam's IR<br>
<input type="checkbox" name="moments[]" value="Noel">Noel<br>
<input type="checkbox" name="moments[]" value="100 jours">100 jours<br>
<br>
<input type="submit" name="valider" value="valider">
</form>
</body>
</html>

 

Le résultat donne le fichier "synthese.txt" dont le contenu est

Détail du sondage :

Nom inatif
Prenom iné
Adresse perdue
Telephone pleure

Ses évènements les plus importants sont :
- WEI 2003
- 100 jours

 

<<precedentsuivant>>