Méthodes GET/POST et formulaires HTML

Licence Informatique 2ème année

Youssef Chahir - Alexandre Niveau - Jean-Marc Lecarpentier

 

Méthodes GET/POST et formulaires HTML

Notes de cours

Travail personnel

Objectif :

Créer des pages web interactives en utilisant des formulaires avec les méthodes GET et POST.

Exercice 1 — Formulaire et récupération #

Un formulaire HTML
  1. Récupérer et compléter la page HTML contenant un formulaire correspondant au modèle ci-dessus .
  2. Écrivez la page form.php en commençant par afficher simplement le nom donné par l'internaute.
  3. Compléter la page PHP form.php pour récupérer les données transmises lors de la soumission du formulaire. Assurez-vous que la page affiche les données récupérées, notamment le nom saisi, les langues parlées et la couleur préférée. Veuillez considérer que les données sont transmises via la méthode GET.
  4. Modifiez la page pour que lors d'un clic sur « Envoyer », les données soient transmises à la page PHP form.php sans qu'elles n'apparaissent dans l'URL.
  5. Modifiez le code pour attribuer un nom par défaut à l'internaute (par exemple, «Dupond») si aucun nom n'est donné.
    Vérifiez également la validité du code HTML généré.
  6. Assurez-vous que la couleur de fond de la page corresponde à la couleur préférée de l'internaute..
  7. Saluez l'internaute dans toutes les langues qu'il ou elle dit parler. Si aucune langue n'a été sélectionnée (ou un nombre est saisi comme un nom), redirigez l'internaute vers une page d'erreur erreur.html.
Remarque : Utiliser :
  • is_numeric(variable) --> renvoei VRAI si la variable est un nombre.
  • header("Location: erreur.html"); --> Redirection vers la page d'erreur
  • die; --> Arrêt de l'exécution du script

Exercice 2 — Historique de visites #

C'est un exercice optionnel pour les plus avancés !

Objectif

L'objectif de cet exercice est de créer un script PHP qui enregistre les informations de visite dans un fichier texte et qui affiche cet historique sur une page web.

On souhaite mettre en place un système de gestion de l'historique des visites d'un site web. Cette fonctionnalité permettra de suivre et d'enregistrer les informations relatives aux visiteurs, telles que leur adresse IP, la date et l'heure de leur visite.

Étapes à suivre :

  1. Récupérer et compléter le code PHP ci dessous historique_visites.php suivant :
  2. Modification du script historique_visites.php :
    • Utilisez la superglobale $_SERVER["REMOTE_ADDR"] pour récupérer l'adresse IP du visiteur.
    • Utilisez les fonctions date() et time() pour obtenir la date et l'heure actuelles.
    • Ouvrez le fichier visiteurs.txt en mode ajout (a+).
    • Enregistrez les informations de visite dans le fichier texte.
    • Fermez le fichier après l'écriture.
  3. Affichage de l'historique sur une page web :
    • Générez une page HTML valide.
    • Affichez un message de bienvenue sur la page.
    • Affichez les informations de visite actuelles sur la page.
    • Affichez l'historique complet des visites sous forme d'un tableau HTML.
<?php

// Fonction qui affiche l'historique des visiteurs
function Afficher(array $tab): void {
    
$liste "<table border='1'>";
    
$liste .= "<tr><th>Adresse IP du client</th><th>Jour/Mois/Année</th><th>Heure/Minute/Seconde</th></tr>";
    
// A compléter ...
    // ...
    // ...
    
echo $liste;
}


// A compléter ...
$aip =  ....
$date = ...
$heure = ...



$info $aip " " $date " " $heure "\n";

try
// Ouverture du fichier visiteurs.txt{
    
$entree fopen("visiteurs.txt""a+");
    if (!
$entree) {
        throw new 
Exception("Impossible d'ouvrir le fichier !");
    }
} catch (
Exception $e) {
    echo 
"Erreur (Fichier : " $e->getFile() . ", ligne " $e->getLine() . ") : " $e->getMessage();
}


// A compléter ...
// ...
// ...
// ...
// ...





// Affichage des informations sur la page web
echo "<!DOCTYPE html>";
echo 
"<html lang='fr'>";
echo 
"<head>";
echo 
"<meta charset='UTF-8'>";
echo 
"<title>Historique des visites</title>";
echo 
"</head>";
echo 
"<body>";
echo 
"<h1>Bienvenue sur mon site</h1>";
echo 
"Visite de " $aip " le " $today " à " $temps " => ";
echo 
$compteur " ième visite sur mon site sur "$cpt."<br />";

echo 
"<h1>Historique</h1>";
$tab file("visiteurs.txt");
Afficher($tab);
echo 
"</body>";
echo 
"</html>";

?>
Page HTML générée par PHP Résultat attendu