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.
- cases à cocher
- listes d’options
- zones de texte
- etc.
- j’ajouterais aussi les input de type file
(voir l’élément input pour une liste complète pour les versions antérieures à html5.)
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 :
La cible du formulaire est un lien mort:
http://www.liafa.jussieu.fr/~prieur/IO2/Exemples/traite.php