X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;ds=sidebyside;f=prog_internet%2Fprog_internet_06.xhtml;fp=prog_internet%2Fprog_internet_06.xhtml;h=892c59ad6fe7c053cee93323e64ef9934cb0f76f;hb=bb577f70949cb96f73d2b6693459fb971dd80459;hp=0000000000000000000000000000000000000000;hpb=1a01baf63e59f5359c4af5cf2159b1e30f47ee74;p=hacks%2FsimpleWebSlides.git diff --git a/prog_internet/prog_internet_06.xhtml b/prog_internet/prog_internet_06.xhtml new file mode 100644 index 0000000..892c59a --- /dev/null +++ b/prog_internet/prog_internet_06.xhtml @@ -0,0 +1,510 @@ + + + +
+Constat: besoin de pages Web dynamiques (contenu
+ généré au chargement de la page)
+ Première solution: scripts (ou programmes) CGI
+ http://www.example.com/foo.cgi?sort=alpha
+
Inconvénients
+Exemple: fichier heure.php :
+ Heure
+
+ L'heure
+ Il est ]]><?php echo date('H:i:s'); ?>
+
+ ]]>
+
+ Heure
+
+ L'heure
+ Il est ]]>
15:53:00
+
+ ]]>
+ Devinette : qu'affiche l'instruction suivante ? (on ne + connaît pas encore PHP mais on peut utiliser son intuition)
+ echo 013 + "013 c'est en fait 11 en base 8";
+ Les entiers ont une taille fixe (généralement 32bits) :
+Notation décimale | 10, 3444, -25, 42, + ⦠|
Notation binaire | 0b10, -0b10001010, + ⦠|
Notation octale | 0755, -01234567, ⦠|
Notation hexadécimale | 0x12b, -0xb00b5, + 0xd34db33f, ⦠|
Opérateurs arithmétiques :
+- | « Moins » unaire |
+, -, *, % | addition, soustraction, produit, modulo |
/ | Division. Si + x et y sont des entiers et que y + divise x alors x/y renvoie + un entier sinon x/y renvoie + un flottant! + |
TRUE/FALSE | vrai/faux (en majuscules) |
Opérateurs logiques :
+! | négation (unaire) |
&&, || | « et » logique, « ou » logique |
Notation scientifique | 1.3, 0.99, 00.34e102, -2313.2313E-23, + ⦠|
Opérateurs arithmétiques :
+- | « Moins » unaire |
+, -, *, /, % | opérations standard |
abs, sin, cos, sqrt, pow, ⦠| fonctions + mathématiques pré-définies |
Exemples :
+ $foo = 123;
+ $bar = 1323e99;
+ $_toto = $bar;
+
+ Simples quotes | 'foo', 'c\'est
+ moi', 'Un antislash : \\', ⦠+ Pas d'autre séquence d'échappement + |
Doubles quotes | "foo", "c'est
+ moi", "Un retour chariot: \n", "La variable
+ \$toto contient: $toto" + Les séquences d'échapement sont: + \n, \t, \\, \", \$. Les variables (sous-chaînes + commençant par un $) sont remplacées par leur valeur. + + |
Opérations sur les chaînes :
+$foo[10] | accès au 11ème caractère |
$foo[10] = 'A'; | mise à jour |
. | concaténation |
strlen | longueur |
Les tableaux sont des tableaux associatifs :
+array() | crée un tableau vide |
array(k1 => v1, â¦, + kn => vn ) | +créé un nouveau tableau pour lequel + l'entrée ki est associée à la + valeur vi + | +
array(v1, â¦, vn ) | +créé un nouveau tableau pour lequel + l'entier i-1 + valeur vi + | +
Quelques fonctions :
+count | taille du tableau (nombre d'éléments) |
sort, rsort | trie un tableau (rsort trie par + ordre décroissant) par valeurs. Les clés sont supprimées et + de nouvelles clées de 0 à longueur - 1 sont crées |
ksort, krsort | trie un tableau par + clés |
print_r | affiche un tableau (ne pas utiliser echo) |
$tab1 = array(); //tableau vide
+ $tab2 = array("zero", "un", "deux", "trois");
+ $tab3 = array("pi" => 3.14159, "e" => 2.71828; "phi" => 1.61803);
+ echo $tab2[0]; //affiche zero
+ echo $tab3["phi"]; //affiche 1.61803
+ $tab1["dix"] = 10; //affectation
+ sort($tab2);
+ echo $tab2[0];//affiche deux
+ sort($tab3);
+ echo $tab3[0]; //affiche 1.61803
+ echo $tab3[1]; //affiche 2.71828
+ echo $tab3[2]; //affiche 3.14159
+ echo count($tab2); //affiche 4
+ NULL est une constante spéciale, de + type NULL. C'est la valeur d'une variable non déclarée + ou d'un accès invalide dans un tableau.
+ $a = $b; // $b n'est pas déclarée, $a reçoit NULL
+ $c = $tab["toto"]; // $tab existe mais n'a pas de valeur
+ // associée à la clé "toto", $c reçoit NULL
+
+ â â¢â£â¹ : +les conversions se + font implicitement, en fonction du + contexte. +
+Booléen | 0, 0.0, "", "0", NULL, et le tableau + vide sont convertis en FALSE, le reste + en TRUE (en particulier "00" vaut TRUE + â¹) |
Entier | FALSE â 0, TRUE â 1, + les flottants sont arrondis par partie entière (1.23242 â + 1). Les chaînes dont un préfixe + est un entier sont converties en cet entier, sinon en 0 ("123 + bonjour" â 123) | +
Chaîne | La chaîne contient la représentation + de la valeur ( 1 . "ABC" + â "1ABC"). FALSE et NULL sont + convertis en "", TRUE converti en "1" |
La réponse à la devinette : 013 + "013 c'est 11 en octal" :
+Opérateurs de comparaisons
+Opérateur | Description |
$a == $b | Ãgal, après conversion + de type |
$a != $b | Différent, après conversion + de type + |
$a === $b | Ãgal et de même type + |
$a !== $b | Différent ou de type différent + |
$a < $b | Strictement plus petit, + après conversion de type + |
$a > $b | Strictement plus grand, + après conversion de type + |
$a <= $b | Plus petit, + après conversion de type + |
$a >= $b | Plus grand, + après conversion de type + |
On comparera TOUJOURS des valeurs + de MÃME TYPE
+On utilise l'instruction echo pour écrire + du texte dans la page HTML résultante :
+Code PHP | +Code HTML | +Affichage dans le navigateur | +
echo "Hello"; + echo "World"; |
+ HelloWorld | +HelloWorld |
echo "Hello\n"; + echo "World"; |
+ Hello World |
+ Hello World |
echo "Hello<br/>"; + echo "World"; |
+ Hello<br/>World | +Hello World |
+ if ( c ) {
+ // cas then
+ } else {
+ // cas else
+ };
+
+ Les parenthèses autour de la condition c sont + obligatoires. La branche else { ⦠} est + optionnelle. Les accolades sont optionnelles pour les blocs + d'une seule instruction
+ while ( c ) {
+ //corps de la boucle while
+ };
+
+ do {
+ //corps de la boucle do
+ } while ( c );
+
+ for(init ; test ; incr) {
+ //corps de la boucle for
+ };
+
+ foreach($tab as $key => $val) {
+ //corps de la boucle foreach
+ //$tab est un tableau, $key une clé et $val la valeur associée
+ };
+ Remarque: ksort et krsort influencent + l'ordre de parcours par une boucle foreach
+break | +sort de la boucle + immédiatement |
continue | reprend à l'itération + suivante | +
+ for($i = 0; $i < 10; $i = $i + 1){
+ if ($i == 2 || $i == 4) continue;
+ if ($i == 7) break;
+ echo $i . ' ';
+ }
+
+ Affiche 0 1 3 5 6
+L'élément <form> permet de créer des formulaires HTML. Un +formulaire est constitué d'un ensemble de widgets (zones de saisies +de textes, boutons, listes déroulantes, cases à cocher, ... ) et d'un +bouton submit. Lorsque l'utilisateur appuie sur le bouton, les +données du formulaires sont envoyées au serveur. Exemple, fichier +age.html :
+
+
+
+
+