Cours 3 : syntaxe php et formulaires html

Avant tout : partiel le 4 mars

Pour « prendre la température », pour vous comme pour nous.

Sur le créneau et dans l’amphi du cours (14h30 — 16h30, A1), en trois sessions de 20 minutes (chaque étudiant sera convoqué pour une seule des trois sessions). Je donnerai des précisions d’ici là. Venir au prochain cours peut s’avérer pertinent ;)

Rappel

La note finale est calculée de la façon suivante :

session 1
max(exam final , (15% partiel, 30% projet, 55% examen final))
session 2
note de l’exam 2, point barre.

Syntaxe php

Survol commenté du chapitre Référence du langage du manuel php,
avec une attention particulière sur les sections suivantes :

  • Les opérateurs de comparaison, qui sont l’occasion de voir que les types sont beaucoup plus « souples » qu’en java. Bien noter la distinction == vs. === (et donc != vs. !==), et les tableaux récapitulatifs de comparaison entre types
  • Les chaînes de caractères, avec la distinction entre guillemets ‘simples’ et « doubles ».
  • Les structures de contrôle, très similaires à celles du java, avec quelques exceptions notables (elseif, et surtout foreach, très utile pour le parcours des tableaux, voir ci-dessous).
  • Les tableaux qui, à la différence de java, sont des tableau associatifs, c’est à dire des listes de couples [ clef => valeur ]. Si la clef n’est pas spécifiée, elle est fixée automatiquement à un entier, qui est le plus petit entier qui n’a pas déjà été attribué comme clef (donc 0 si aucune valeur n’a été attribuée précédemment).

    Les tableaux se parcourent fréquemment au moyen de la boucle foreach :

      foreach($tab as $val)
        echo "valeur suivante : $val";
    
      foreach($tab as $key => $val)
        echo "à la clef $key est associée la valeur $val";
    

Les formulaires html

Pour commencer

Voir le fichier formulaire.html.

Les principaux points à retenir dans cet exemple :

  • il n’y a qu’un seul formulaire, défini par la balise form, et contenant plusieurs éléments de saisie (la plupart du temps des élements input
  • l’attribut name d’un input permet de déterminer le nom du paramètre dont cet élément fournira la valeur (dans l’exemple, renseigner le champ « Nom » et valider le formulaire fera apparaître « ?nom=… » dans la barre d’adresse du navigateur). Notez que toutes les valeurs n’ont pas été définies dans l’exemples, pour tester les différents cas.

    Dans le cas de l’input type="radio" (homme / femme), spécifier le même attribut name a pour effet de forcer à ce qu’une seule valeur soit sélectionnée. La valeur du paramètre est spécifiée par l’attribut value.
  • l’élément label permet de sélectionner plus facilement un élément input: si on clique sur le label, l’input correspondant s’actionne (la correspondance est spécifiée au moyens des attributs for et id de label et input respectivement. Observez la différence entre les input Surnom et Prénom ;
  • on envoie le formulaire au moyen de l’input de type submit ;
  • les éléments de formulaire sont de type en-ligne et doivent donc être placés dans un élement de type bloc (form n’en est pas un.) On peut utiliser p ou table.

D’autres éléments de saisie

Voir les exemples donnés dans la liste de w3schools.

Pour html5 et ses nouveaux types d’élements input, lire le chapitre A form of madness de dive into html5. Notez que les problèmes de compatibilité se posent très peu puisque par défaut, un input de type inconnu sera rendu en type="text".

Essayez-en quelques uns en cliquant ci-dessous :

  • number ou range pour les valeurs numériques ;
  • plus subtils, search ou email, dont l’intérêt ne se fait pas sentir sur tous les navigateurs (mais essayez avec un iphone, par exemple).
Cette entrée a été publiée dans Cours, avec comme mot(s)-clef(s) , , , , , , . Vous pouvez la mettre en favoris avec ce permalien.

Une réponse à Cours 3 : syntaxe php et formulaires html

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

*

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Merci de répondre à cette question pour prouver que vous n'êtes pas un robot :

Combien font 8 fois 8 ?