Outils pour utilisateurs

Outils du site


clubinfo:php2

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Prochaine révision
Révision précédente
clubinfo:php2 [2024/08/18 10:26]
mrcjl créée
clubinfo:php2 [2024/08/18 14:38] (Version actuelle)
mrcjl [Améliorations]
Ligne 7: Ligne 7:
 Elle reprend le code vu précédemment et demande le nom, prénom, age et sexe du visiteur (le sexe est demandé par 2 méthodes différentes). Elle reprend le code vu précédemment et demande le nom, prénom, age et sexe du visiteur (le sexe est demandé par 2 méthodes différentes).
  
-<file html formulaire.html>+<file html formulaire.html >
 <!DOCTYPE html> <!--Déclaration de la page HTML --> <!DOCTYPE html> <!--Déclaration de la page HTML -->
 <html lang="fr"> <!-- Début de page écrite en français --> <html lang="fr"> <!-- Début de page écrite en français -->
Ligne 39: Ligne 39:
         </SELECT>         </SELECT>
     </FIELDSET>     </FIELDSET>
-    <INPUT type="submit" value="Envoyer" />+    <INPUT type="submit" value="Envoyer" name="ok" />
     <INPUT type="reset" value="Effacer" />     <INPUT type="reset" value="Effacer" />
   </FORM>   </FORM>
Ligne 45: Ligne 45:
   </body> <!-- Fin du corps -->   </body> <!-- Fin du corps -->
 </html> <!-- Fin de la page --> </html> <!-- Fin de la page -->
-<code>+</file> 
 + 
 +=====Variables et instructions utiles en PHP===== 
 +**Les données du formulaire sont transmises dans un tableau $_POST**. Il correspond à l'attribut "method" et il contient une liste de variables et leurs valeurs : $_POST["nom"], $_POST["prenom"], $_POST["age"], $_POST["sexe1"], $_POST["sexe2"], $_POST["ok"]. Le nom des variables correspond à la valeur de l'attribut "name" des champs du formulaire.  
 + 
 +**La validation du formulaire le transmet son contenu à la page indiquée dans son attribut "action"** soit "reponse.php" (validation = clic sur "Envoyer"). Si "action='#"", il sera transmis à la page qui a demandé les informations (même page).  
 + 
 +**L’existence d'une variable peut être testée par la fonction isset(variable);**. Le caractère '!' utilisé en début de condition inverse celle-ci [if (!vrai) = if (faux)]. 
 +L'instruction **strtoupper(texte)** transforme le texte entièrement en majuscule et **ucwords(texte)** le transforme entièrement en minuscule sauf la 1ere lettre de chaque mot en majuscule. 
 + 
 +=====Page de la réponse===== 
 +Elle précisera au visiteur les informations transmises et sera composé de HTML et de PHP. 
 + 
 +<file php reponse.php> 
 + <!DOCTYPE html> <!--Déclaration de la page HTML --> 
 + <html lang="fr"> <!-- Début de page écrite en français --> 
 +  <head> <!-- Début entête --> 
 +    <meta charset="UTF-8"> <!-- Codage des caractères (important mais sera vu plus tard) --> 
 +    <title>Connaitre le visiteur</title> 
 +    <!--link href="style.css" rel="stylesheet" type="text/css" /> <!-- Autre fichier (ici mise en forme) utile à la page --> 
 +  </head> <!-- Fin de entête --> 
 +  <body> <!-- Début du corps --> 
 +    <h1>Une page pour faire connaissance</h1> 
 +<?php 
 +  if (! isset ($_POST["ok"])) { 
 +    echo "\t<p>Vous n'avez pas répondu à mes questions et appelé la page directement.</p>\n"; 
 +  } else { 
 +    echo "\t<p>Merci d'avoir répondu à mes questions.</p>\n"; 
 +    echo "\t<p>Si j'ai bien compris :<br />\n"; 
 +    echo "\t\t<ul>\n"; 
 +    printf ("\t\t\t<li>Vous vous appelez : %s %s</li>\n", strtoupper($_POST["nom"]), ucwords($_POST["prenom"])); 
 +    if ($_POST["nom"] == "") echo "\t\t\t<li> - en fait vous n'avez pas de nom</li>\n"; 
 +    if ($_POST["prenom"] == "") echo "\t\t\t<li> - en fait vous n'avez pas de prenom</li>\n"; 
 +    printf ("\t\t\t<li>Vous avez : %d ans</li>\n", $_POST["age"]); 
 +    if ($_POST["age"] < 10) echo "\t\t\t<li> - vous me paressez très jeune ?</li>\n"; 
 +    if ($_POST["age"] > 90) echo "\t\t\t<li> - vous me paressez très vieux ?</li>\n"; 
 +    if ($_POST["sexe1"] != $_POST["sexe2"]) echo "\t\t\t<li> - vous ne semblez pas sur de votre sexe ?</li>\n"; 
 +    else switch ($_POST["sexe1"]) { 
 +      case "M": echo "\t\t\t<li>Vous êtes un homme.</li>\n"; break; 
 +      case "F": echo "\t\t\t<li>Vous êtes une femme.</li>\n"; break; 
 +      default: echo "\t\t\t<li>Vous ne connaissez pas votre sexe.</li>\n"; 
 +    } 
 +    echo "\t\t</ul>\n"; 
 +  } 
 +  echo "\t</p>\n"; 
 +?> 
 +  </body> 
 +</html> 
 +</file> 
 + 
 +=====Améliorations===== 
 +Faite calculer l'année de naissance ? 
 +  * l'instruction date("j/m/Y") retourne la date sous la forme "JJ/MM/AAAA", date("Y") ne renvoi que l'année. Voir la documentation de l'instruction pour obtenir plus d'information sur les dates et heures. 
  
clubinfo/php2.1723969607.txt.gz · Dernière modification: 2024/08/18 10:26 de mrcjl