SlideShare une entreprise Scribd logo
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Langage de Script PHP
Partie 1 : Les bases du PHP
Pr. Mohammed SALIHOUN
salihoun.med@gmail.com
version éditée par: Dr. Mohammed BELATAR
3éme Année - Ingénierie en Informatique et Réseaux
4 octobre 2022
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 1 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Table of Contents
1. PHP et HTML
- URLs et serveurs Web
- Programmation côté
serveur
- Cycle de vie d’une requête
PHP
- Envoi de code HTML au
client
- Exécution du PHP
2. Introduction au langage PHP
- Les variables
- Les types
- Les opérateurs
- Le conditionnelle
- Les boucles
- Les tableaux
- Les fonctions
- Les commentaires
3. Envoi de données au serveur
- Requêtes et paramètres
- Formulaire HTML
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 2 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Table of Contents
1. PHP et HTML
- URLs et serveurs Web
- Programmation côté
serveur
- Cycle de vie d’une requête
PHP
- Envoi de code HTML au
client
- Exécution du PHP
2. Introduction au langage PHP
- Les variables
- Les types
- Les opérateurs
- Le conditionnelle
- Les boucles
- Les tableaux
- Les fonctions
- Les commentaires
3. Envoi de données au serveur
- Requêtes et paramètres
- Formulaire HTML
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 3 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
PHP et HTML
URLs et serveurs Web
https ://server/path/file
Quand un client saisit et valide un URL dans le navigateur :
1 L’ordinateur récupère l’adresse IP address du serveur à l’aide
d’un DNS (Domain Name Server).
2 Le navigateur se connecte à cette adresse IP et demande le
fichier.
3 Le serveur (par exemple, Apache) récupère le fichier sur son
disque et envoie son contenu au navigateur du client.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 4 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
PHP et HTML
URLs et serveurs Web
Certains URLs spécifient des programmes que le serveur exécute,
récupère le résultat de cette exécution et l’envoie au navigateur :
L’URL ci-dessous permet de contacter le serveur www.emsi.ma et
de lui demander d’envoyer le résultat du programme
formations/certifications/index.php après l’avoir exécuté.
http://www.emsi.ma/formations/certifications/index.php
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 5 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
PHP et HTML
Programmation côté serveur
La programmation côté serveur s’effectue avec des langages de pro-
grammation (ou des framework) comme :
• PHP, Java/JSP, Ruby on Rails, ASP.NET, Python, Perl,
NodeJS
Les serveurs Web sont capables d’exécuter des programmes écrits
dans ces langages et peuvent envoyer les résultats de ces programmes
au navigateur du client.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 6 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
PHP et HTML
Programmation côté serveur
Chaque langage/framework a ses avantages et ses inconvénients
La popularité des langages/frameworks varie avec le temps :
• Programming Language Popularity
• Google Trends pour les frameworks populaires et aussi pour
PHP.
On utilise PHP dans ce cours à cause de ses avantages : simplicité,
popularité, interprété, bien documenté, ...
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 7 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
PHP et HTML
Cycle de vie d’une requête PHP
La requête du navigateur est un fichier .html (contenu statique) :
le serveur envoie simplement le contenu du fichier.
La requête du navigateur est un script .php (contenu dynamique) :
le serveur exécute le script et envoie le résultat.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 8 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
PHP et HTML
Envoi de code HTML au client : print et echo
PHP (modèle)
print "text" ;
echo "text" ;
PHP (exemple)
print "Hello, World!";
print "Escape “chars” are the SAME as in Java!";
print "you can have
line breaks in a string.";
print ’A string can use "single-quotes". It’s cool!’;
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 9 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
PHP et HTML
Envoi de code HTML au client : print et echo
Résultat
Hello, world!
Escape "chars" are the SAME as in Java!
You can have line breaks in a string.
A string can use "single-quotes". It’s cool!
Les fonctions print et echo sont presque identiques.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 10 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
PHP et HTML
Exécuter du PHP
• On ne peut pas visualizer un script PHP avec le protocole
file : rien ne s’affiche ou bien on voit le source du fichier.
• Il faut placer le script PHP sur le serveur local (localhost) : on
peut alors activer le script via la barre d’adresse du navigateur.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 11 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
PHP et HTML
Squelette de script PHP
PHP (code)
< ?php
//PHP code goes here
echo "This is a test !" ;
?>
Résultat
This is a test !
Le code PHP est toujours contenu dans les balises < ?php et ?>
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 12 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
PHP et HTML
PHP (code)
HTML content
< ?php
PHP code
?>
HTML content
< ?php
PHP code
?>
HTML content ...
• Le code (PHP) contenu dans < ?php et ?> est exécuté et
le résultat transmis au client.
• Le code (HTML) non contenu dans < ?php et ?> est trans-
mis tel quel au client.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 13 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Table of Contents
1. PHP et HTML
- URLs et serveurs Web
- Programmation côté
serveur
- Cycle de vie d’une requête
PHP
- Envoi de code HTML au
client
- Exécution du PHP
2. Introduction au langage PHP
- Les variables
- Les types
- Les opérateurs
- Le conditionnelle
- Les boucles
- Les tableaux
- Les fonctions
- Les commentaires
3. Envoi de données au serveur
- Requêtes et paramètres
- Formulaire HTML
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 14 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
Variables
PHP (exemple)
$user_name = "Peacetachful";
$age = 33;
$age_in_dog_years = $age / 7;
$this_class_rocks = TRUE;
• Les noms de variable sont case-sensitive. On peut utiliser le _
si le nom est long et composé comme $user_name) .
• Les noms de variables commencent toujours avec le caractère
$ .
• Les variables sont déclarées implicitement à la première affecta-
tion. Une variable peut contenir des valeurs successives de types
différents.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 15 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
Les types
Les types de base : integer, float, boolean, string, array, object,
NULL,
La fonction is_type teste le type d’une valeur (i.e is_string).
La fonction gettype retourne le type d’une valeur sous la forme d’une
chaîne de caractères (pas très utilisée).
PHP convertit automatiquement très souvent :
• string vers int conversion automatique avec + pour :
("1" + 1 == 2) .
• int vers float conversion automatique avec / pour :
(3 / 2 == 1.5) .
Conversion explicite avec (type) : $age = (int) "21" ;
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 16 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
Les opérateurs
• Opérateurs Arithmétiques : +, -, *, /, %
• Opérateurs d’Incrémentation & Décrémentation : ++, – –
• Opérateurs d’Affectation : =, +=, -=, *=, /=, %=, .=
• Opérateurs de concaténation : .
• Opérateurs de comparaison :
==, <, >, <=, >=, !=, <>, ===, !==
Beaucoup d’opérateurs convertissent automatiquement leurs opé-
randes : 5 + "7" donne 12 .
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 17 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
Le type string
PHP
$favorite_food = "Asian" ;
print $favorite_food[2] ; # i
C’est identique à un tableau de caractères, utilisable avec les []
L’opérateur de concatenation est . (point) et non +
• 5 + "2 turtle doves" retourne 7.
• 5 . "2 turtle doves" retourne "52 turtle doves".
Peut être délimitée par " " ou ”.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 18 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
Fonctions sur le type string
PHP
$name = "Emsi - 3iir"
$length = strlen($name) ; # 11
$cmp = strcmp($name, "Emsi") ; # > 0
$index = strpos($name, "i") ; # 3
$last = substr($name, 8, 4) ; # "3iir"
$name = strtoupper($name) ; # "EMSI - 3IIR"
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 19 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
Fonctions sur le type string
Nom Fonctions équivalentes en Java
strlen length
strpos indexOf
substr substring
strtolower, strtoupper toLowerCase, toUpperCase
trim trim
explode, implode split, join
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 20 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
Chaînes et interpretation des variables
PHP (exemple)
$age = 16;
print "You are " . $age . " years old."
print "You are $age years old."; # You are 16 years old.
• Les variables dans les chaînes délimitées par " " sont interpré-
tées.
• Les variables dans ces chaînes sont remplacées par leur valeur.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 21 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
Chaînes et interpretation des variables
• Les variables dans les chaînes délimitées par ’ ’ ne sont pas
interprétées :
PHP (exemple)
print ’You are $age years old.’; # You are $age years old.
• Pour lever toute ambiguité, on peut placer le nom de la variable
entre :
PHP (exemple)
print "Today is your $ageth birthday."; # ageth not found
print "This’s your {$age}th birthday."; # This’s your 16th birthday.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 22 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
Le type Boolean
PHP
$feels_like_summer = FALSE ;
$php_is_rad = TRUE ;
$student_count = 217 ;
$nonzero = (bool) $student_count ; # TRUE
Les valeurs suivantes sont vues comme FALSE (toutes les autres
valeurs sont vues comme TRUE ) :
• 0, 0.0 et Tableaux avec 0 element.
• " ", "0", et NULL (y compris les variables non initialisées).
(bool) permet de convertir explicitement une valeur vers un boo-
léen.
print(FALSE) ne produit rien, print(TRUE) produit 1.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 23 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
La forme conditionnelle if/else
PHP (Modèle)
if (condition) {
statements ;
} else if (condition) {
statements ;
} else {
statements ;
}
On peut utiliser elseif (sans espace) au lieu de else if .
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 24 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
La boucle for
PHP (Modèle)
for (initialization ; condition ; update) {
statements ;
}
PHP (exemple)
for ($i = 0; $i < 10; $i++) {
print "$i squared is " . $i * $i . " <br>";
}
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 25 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
La boucle while
PHP (Modèle 1)
while (condition) {
statements ;
}
PHP (modèle 2)
do {
statements ;
} while (condition) ;
Les instructions break et continue existent et fonctionnent comme
en Java.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 26 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
Les tableaux
PHP (Modèle)
$name = array() ; # Create
$name = array(value0, ..., valueN) ;
$name = [value0,...] ; # Create
$name[index] # Get element value
$name[index] = value ; # Set element value
$name[] = value ; # Append PHP
PHP (Exemple)
$a = array(); # Empty array (length 0)
$a[0] = 23; # Stores 23 at index 0 (length 1)
$a2 = array("some", "strings", "in", "an", "array");
$a2[] = "Ooh!"; # Add string to end (at index 5)
NB : Un tableau peut contenir des éléments de différents types.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 27 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
Fonctions sur les tableaux
Nom Description
count Nombre d’éléments dans un tableau
print_r Affiche le contenu d’un tableau
array_pop, array_push, array_shift,
array_unshift
Pour utiliser un tableau comme une pile/file
in_array, array_search, array_search,
sort, rsort, shuffle
Recherche et tri
array_fill, array_merge, array_intersect,
array_diff, array_slice, range
Création, initialisation et manpulation
array_sum, array_product, array_unique,
array_filter, array_reduce
Traitement des éléments
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 28 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
Exemple de fonctions sur les tableaux
PHP (Exemple)
$tas = array("CA", "MJ", "MG", "SK", "KC");
for ($i = 0; $i < count($tas); $i++) {
$tas[$i] = strtolower($tas[$i]);
} # ("ca", "mj", "mg", "sk", "kc")
$conner = array_shift($tas); # ("mj", "mg", "sk", "kc")
array_pop($tas); # ("mj", "mg", "sk")
array_push($tas, "kt"); # ("mj", "mg", "sk", "kt")
array_reverse($tas); # ("kt", "sk", "mg", "mj")
sort($tas); # ("kt", "mg", "mj", "sk")
$ks = array_slice($tas, 1, 2); # ("mg", "mj")
Les tableaux en PHP remplacent la plupart des structures de données
de Java : list, stack, queue, set, map, ...
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 29 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
La boucle foreach
PHP (Modèle)
foreach ($array as $variableName) {
statements ;
}
PHP (exemple)
$stooges = array ("Larray", "Moe", "Curly", "Shemp");
foreach ($stooges as $stooge) {
print "Moe slaps $stoogen"; # Even himself
}
La boucle foreach permet d’itérer sur les éléments d’un tableau sans
utiliser les indices.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 30 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
Les fonctions
PHP (Modèle)
function name(parameter1, ..., parameterN) {
statements ;
}
PHP (exemple)
function bmi($weight, $height) {
$result = 703 * $weight / $height / $height;
return $result;
}
• Les types des paramètres et de la valeur de retour ne sont pas
spécifiés.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 31 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
Appel de la fonction
PHP (Modèle)
name(expression1,..., expressionN) ;
PHP (exemple)
$w = 163; # pounds
$h = 70; # inches
$my_bmi = bmi($w, $h);
Erreur
Appeler une fonction avec le mauvais nombre d’argument provoque
une erreur.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 32 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
Portée des variables
PHP (Exemple)
$school = "EMSI"; # global
...
function downgrade() {
global $school;
$suffix = "(3IIR)"; # local
$school = "$school $suffix";
print "$schooln"; }
• Les variables déclarées dans une fonction sont locales à cette
fonction.
• Les variables déclarées à l’extérieur d’une fonction sont globales
pour cette fonction.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 33 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
Paramètres par défaut
PHP (Modèle)
name (parameter1=value, ..., parameterN=value) {
statements ;
}
PHP (exemple)
function print_separated($str, $separator=", ") {
for ($i = 1; $i < strlen($str); $i++) {
print $separator . $str[$i];
}
}
print_separated("hello"); # h, e, l, l, o
print_separated("hello", "-"); # h-e-l-l-o
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 34 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Introduction au langage PHP
Les commentaires
PHP (Modèle)
# commentaire sur une ligne
// commentaire sur une ligne
/*
block de commentaires
block de commentaires
...
*/
Comme en Java, avec # en plus :
• Beaucoup de développeurs PHP utilisent # au lieu de //
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 35 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Table of Contents
1. PHP et HTML
- URLs et serveurs Web
- Programmation côté
serveur
- Cycle de vie d’une requête
PHP
- Envoi de code HTML au
client
- Exécution du PHP
2. Introduction au langage PHP
- Les variables
- Les types
- Les opérateurs
- Le conditionnelle
- Les boucles
- Les tableaux
- Les fonctions
- Les commentaires
3. Envoi de données au serveur
- Requêtes et paramètres
- Formulaire HTML
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 36 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Envoi de données au serveur
Requêtes et paramètres
PHP (exemple)
URL?name1=value1&name2=value2...
http://www.google.com/search?q=Aya
http://example.com/student_login.php?username=aya&id=1234
• Il est possible de passer des paramètres lors d’une requête à un
serveur :
• Des couples (paramètre,valeur) placés à la fin de l’URL, par
exemple, ( username , aya ), et ( id , 1234 ).
• Un script PHP peut lire et utiliser ces paramètres.
• Les paramètres sont toujours des chaînes de caractères.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 37 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Envoi de données au serveur
Requêtes GET et POST
• Deux types de requête vers le serveur :
1 Une requête GET est utilisée pour obtenir des données (HTML)
du serveur sans changer son état. La requête peut avoir des
paramètres.
2 Une requête POST est utilisée pour transmettre des données
au serveur et éventuellement changer son état. La requête peut
avoir des paramètres.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 38 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Envoi de données au serveur
Les tableaux $_GET et $_POST
PHP (exemple)
$user_name = $_GET["username"];
$id_number = (int) $_GET["id"];
$eats_meat = FALSE;
if (isset($_GET["meat"])) {
$eats_meat = TRUE;
}
• $_GET["parameter"] ou $_POST["parameter"] contient la
valeur d’un paramètre GET ou POST (une chaîne de carac-
tères).
• les paramètres passés directement dans l’URL sont des para-
mètres GET :
http ://domain/script.php ?name1=value1&name2=value2
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 39 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Envoi de données au serveur
Exemple Puissance.php
PHP (script)
$base = $_GET["base"];
$exp = $_GET["exponent"];
$result = pow($base, $exp);
print "$base ^$exp = $result";
PHP (URL)
puissance.php ?base=3&exponent=4
PHP (Résultat)
3 ^4 = 81
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 40 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Envoi de données au serveur
Formulaire HTML
PHP (Modèle)
<form action="destination URL" method="get OR post">
form controls
</form>
• L’élément de base en HTML pour transmettre des données au
serveur.
• L’attribut action contient l’URL du scrip (PHP) qui va traîter
les données du formulaire.
• Quand tous les éléments de formulaires ont été renseignés, le
formulaire est soumis et les données contenues dans ces élé-
ments sont transmises au script.
• Si l’attribut action n’est pas présent, le script qui va traîter
les données est le même qui contient ce formulaire !
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 41 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Envoi de données au serveur
Element du formulaire : input
PHP (Modèle)
<input type="text" name="q" value="type in here" >
<input type="submit" value="Send" >
• L’élément input permet de créer beaucoup d’éléments de for-
mulaire différents.
• L’attribut name est le nom du paramètre envoyé au serveur.
• L’attribut type détermine le type d’élément : button , file ,
checkbox , hidden , password , radio , reset , submit ,
text ,...
• L’attribut value contient le texte initial de l’élément.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 42 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Envoi de données au serveur
Element du formulaire : textarea
PHP (Modèle)
<textarea rows="4" cols="20">
Type your comments here.
</textarea>
• L’élément input permet de créer beaucoup d’éléments de for-
mulaire différents.
• Une zone de saisie de texte sur plusieurs lignes.
• Les attributs rows et cols spécifient la hauteur et la largeur
en nombre de caractères.
• L’attribut readonly rend le contenu de l’élément non modi-
fiable.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 43 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Envoi de données au serveur
Element du formulaire : checkbox
PHP (Exemple)
<input type="checkbox" name="lettuce"> Lettuce
<input type="checkbox" name="tomato" checked="checked"> Tomato
<input type="checkbox" name="pickles" checked="checked"> Pickles
• 0, 1, ou plusieurs checkboxes peuvent être sélectionnées en
même temps.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 44 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Envoi de données au serveur
Element du formulaire : checkbox
• Lors de l’envoi au serveur :
• La valeur de l’attribut name de chaque checkbox
sélectionnée est le nom d’un paramètre transmis au serveur, et
la valeur de ce paramètre est on .
http ://domain/script.php ?tomato=on&pickles=on
PHP (Exemple)
<input type="checkbox" name="lettuce" checked="checked" >
• L’attribut checked permet de sélectionner des checkboxes
par défaut :
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 45 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Envoi de données au serveur
Element du formulaire : button radio
PHP (Exemple)
<input type="radio" name="cc" value="visa" checked="checked"> Visa
<input type="radio" name="cc" value="mastercard"> MasterCard
<input type="radio" name="cc" value="amex"> American Express
• Choix mutuellement exclusifs.
• Un groupe est déterminé par la même valeur de l’attribut name.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 46 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Envoi de données au serveur
Element du formulaire : button radio
• Lors de l’envoi au serveur :
• La valeur de l’attribut name d’un groupe est le nom du
paramètre transmis au serveur.
• La valeur de l’attribut value du bouton sélectionné dans ce
groupe est la valeur de ce paramètre.
http ://domain/script.php ?cc=visa
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 47 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Envoi de données au serveur
Element du formulaire : input caché
PHP (Modèle)
<input type="text" name="username"> Name <br>
<input type="text" name="sid"> SID <br>
<input type="hidden" name="school" value="EMSI">
<input type="hidden" name="year" value="2019">
• Paramètre invisible à l’utilisateur dont la valeur (de l’attribut
value ) est transmise au serveur lorsque le formulaire est sou-
mis.
• Très utile pour échanger des données entre plusieurs appels à
des scripts.
• Du point de vue de PHP, identique à un input de type text .
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 48 / 49
PHP et HTML
Introduction au langage PHP
Envoi de données au serveur EMSI - Rabat
Envoi de données au serveur
Element du formulaire : select
PHP (Modèle)
<select name="favoritecharacter">
<option value="brad">Brad Pitt</option>
<option value="george">George Clooney</option>
<option value="johnny" selected>Johnny Depp </option>
</select>
• Le nom du paramètre transmis au serveur est la valeur de l’at-
tribut name de l’élément select .
• La valeur de l’attribut value de l’élément option sélectionné
est la valeur du paramètre transmis au serveur.
• select possède les attributs : disabled , multiple , size .
• L’attribut selected permet de sélectionner un élément option
par défaut.
Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 49 / 49

Contenu connexe

PPT
Presentation d'une Formation du language avencer php.ppt
PPT
hassclic270.ppt
PDF
Lp web tp3_idse
PDF
cours-gratuit.com--coursMySql-id2218.pdf
DOC
PHP mysql Xml.doc
PDF
43_pps.pdf
PDF
PHP mysql Xml.pdf
PDF
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf
Presentation d'une Formation du language avencer php.ppt
hassclic270.ppt
Lp web tp3_idse
cours-gratuit.com--coursMySql-id2218.pdf
PHP mysql Xml.doc
43_pps.pdf
PHP mysql Xml.pdf
Cours3-PHPfgdwfwdffhddfbwdfwdfwdfwdfwfw.pdf

Similaire à php1 cours de vevelepment wep complet pdf (20)

PDF
217014245050_progweb1_phppppppppppppp.pdf
PDF
S51 vos projets web services ibm i a l aide de php
PPTX
Gérard Rozsavolgyi, aide de Sylvain Austruy
PPT
cours-gratuit.com--CoursPhp-id1055.ppt
PDF
Php
PDF
Cours php -partie 1.pdf
PDF
JEE_chapitre 1.pdf
PDF
Support de cours angular
PPTX
Presentation
PDF
Support JEE Servlet Jsp MVC M.Youssfi
PPTX
Chap01 introduction
PDF
PHP et PHP Framework
PPTX
Serveurs
PDF
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...
PPTX
[#1] Qu’est ce que php?
PPTX
Php & My Sql
PPTX
Php & My Sql
PDF
chapitre 4-PHP5 module web part2 (1).pdf
PPTX
2_langage_PHP_les_bases_.2_langage_PHP_les_bases_.pptx
PDF
Les Web Services en 60 diapos chrono !
217014245050_progweb1_phppppppppppppp.pdf
S51 vos projets web services ibm i a l aide de php
Gérard Rozsavolgyi, aide de Sylvain Austruy
cours-gratuit.com--CoursPhp-id1055.ppt
Php
Cours php -partie 1.pdf
JEE_chapitre 1.pdf
Support de cours angular
Presentation
Support JEE Servlet Jsp MVC M.Youssfi
Chap01 introduction
PHP et PHP Framework
Serveurs
Conférence #nwx2014 - Maxime Mauchaussée - Partager du code maintenable et év...
[#1] Qu’est ce que php?
Php & My Sql
Php & My Sql
chapitre 4-PHP5 module web part2 (1).pdf
2_langage_PHP_les_bases_.2_langage_PHP_les_bases_.pptx
Les Web Services en 60 diapos chrono !
Publicité

Dernier (16)

PDF
Proposition de contenu pouvant résoudre les problèmes détectés à partir des é...
PDF
TP L’analyse granulométrique par tamisage
PPTX
UMAPON Cours de traitement des minerais 2.pptx
PDF
CHAPITRE 3 Typologie des réseaux [Enregistrement automatique] 4.pdf
PDF
Regles sur la gestion de l’Eclairage public
PDF
FAQ_FORAGE_EAU_SUNRISE_ENGINEERING_GROUP_SARL2025.pdf
PPTX
COURS DE PROSPECTION MINIERE UTMSIRI - Copie.pptx
PDF
Expansion du Réseau de Gazoducs de Gaz Naturel au Brésil _ Analyse Technique ...
PPTX
A Recurrent Neural Network (RNN)s a type of artificial neural network
PPTX
mon_expose_de_geophysique_disposotif_de_wener.pptx
PDF
TP de La Masse Volumique apparente et absolue
PDF
Visite de chantier – Projet de Polyclinique à Laghouat
PPTX
Logique séquentielle : les fondamentaux
PPTX
Introduction aux Systèmes temps réel.pptx
PDF
Arouna Toure - Senior Ingénieur Logiciel Et Chef De Produit
PPTX
CH1-RMELLOULI-Données des problèmes d'ordonnancement de la production.pptx
Proposition de contenu pouvant résoudre les problèmes détectés à partir des é...
TP L’analyse granulométrique par tamisage
UMAPON Cours de traitement des minerais 2.pptx
CHAPITRE 3 Typologie des réseaux [Enregistrement automatique] 4.pdf
Regles sur la gestion de l’Eclairage public
FAQ_FORAGE_EAU_SUNRISE_ENGINEERING_GROUP_SARL2025.pdf
COURS DE PROSPECTION MINIERE UTMSIRI - Copie.pptx
Expansion du Réseau de Gazoducs de Gaz Naturel au Brésil _ Analyse Technique ...
A Recurrent Neural Network (RNN)s a type of artificial neural network
mon_expose_de_geophysique_disposotif_de_wener.pptx
TP de La Masse Volumique apparente et absolue
Visite de chantier – Projet de Polyclinique à Laghouat
Logique séquentielle : les fondamentaux
Introduction aux Systèmes temps réel.pptx
Arouna Toure - Senior Ingénieur Logiciel Et Chef De Produit
CH1-RMELLOULI-Données des problèmes d'ordonnancement de la production.pptx
Publicité

php1 cours de vevelepment wep complet pdf

  • 1. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Langage de Script PHP Partie 1 : Les bases du PHP Pr. Mohammed SALIHOUN salihoun.med@gmail.com version éditée par: Dr. Mohammed BELATAR 3éme Année - Ingénierie en Informatique et Réseaux 4 octobre 2022 Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 1 / 49
  • 2. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Table of Contents 1. PHP et HTML - URLs et serveurs Web - Programmation côté serveur - Cycle de vie d’une requête PHP - Envoi de code HTML au client - Exécution du PHP 2. Introduction au langage PHP - Les variables - Les types - Les opérateurs - Le conditionnelle - Les boucles - Les tableaux - Les fonctions - Les commentaires 3. Envoi de données au serveur - Requêtes et paramètres - Formulaire HTML Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 2 / 49
  • 3. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Table of Contents 1. PHP et HTML - URLs et serveurs Web - Programmation côté serveur - Cycle de vie d’une requête PHP - Envoi de code HTML au client - Exécution du PHP 2. Introduction au langage PHP - Les variables - Les types - Les opérateurs - Le conditionnelle - Les boucles - Les tableaux - Les fonctions - Les commentaires 3. Envoi de données au serveur - Requêtes et paramètres - Formulaire HTML Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 3 / 49
  • 4. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat PHP et HTML URLs et serveurs Web https ://server/path/file Quand un client saisit et valide un URL dans le navigateur : 1 L’ordinateur récupère l’adresse IP address du serveur à l’aide d’un DNS (Domain Name Server). 2 Le navigateur se connecte à cette adresse IP et demande le fichier. 3 Le serveur (par exemple, Apache) récupère le fichier sur son disque et envoie son contenu au navigateur du client. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 4 / 49
  • 5. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat PHP et HTML URLs et serveurs Web Certains URLs spécifient des programmes que le serveur exécute, récupère le résultat de cette exécution et l’envoie au navigateur : L’URL ci-dessous permet de contacter le serveur www.emsi.ma et de lui demander d’envoyer le résultat du programme formations/certifications/index.php après l’avoir exécuté. http://www.emsi.ma/formations/certifications/index.php Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 5 / 49
  • 6. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat PHP et HTML Programmation côté serveur La programmation côté serveur s’effectue avec des langages de pro- grammation (ou des framework) comme : • PHP, Java/JSP, Ruby on Rails, ASP.NET, Python, Perl, NodeJS Les serveurs Web sont capables d’exécuter des programmes écrits dans ces langages et peuvent envoyer les résultats de ces programmes au navigateur du client. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 6 / 49
  • 7. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat PHP et HTML Programmation côté serveur Chaque langage/framework a ses avantages et ses inconvénients La popularité des langages/frameworks varie avec le temps : • Programming Language Popularity • Google Trends pour les frameworks populaires et aussi pour PHP. On utilise PHP dans ce cours à cause de ses avantages : simplicité, popularité, interprété, bien documenté, ... Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 7 / 49
  • 8. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat PHP et HTML Cycle de vie d’une requête PHP La requête du navigateur est un fichier .html (contenu statique) : le serveur envoie simplement le contenu du fichier. La requête du navigateur est un script .php (contenu dynamique) : le serveur exécute le script et envoie le résultat. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 8 / 49
  • 9. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat PHP et HTML Envoi de code HTML au client : print et echo PHP (modèle) print "text" ; echo "text" ; PHP (exemple) print "Hello, World!"; print "Escape “chars” are the SAME as in Java!"; print "you can have line breaks in a string."; print ’A string can use "single-quotes". It’s cool!’; Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 9 / 49
  • 10. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat PHP et HTML Envoi de code HTML au client : print et echo Résultat Hello, world! Escape "chars" are the SAME as in Java! You can have line breaks in a string. A string can use "single-quotes". It’s cool! Les fonctions print et echo sont presque identiques. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 10 / 49
  • 11. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat PHP et HTML Exécuter du PHP • On ne peut pas visualizer un script PHP avec le protocole file : rien ne s’affiche ou bien on voit le source du fichier. • Il faut placer le script PHP sur le serveur local (localhost) : on peut alors activer le script via la barre d’adresse du navigateur. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 11 / 49
  • 12. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat PHP et HTML Squelette de script PHP PHP (code) < ?php //PHP code goes here echo "This is a test !" ; ?> Résultat This is a test ! Le code PHP est toujours contenu dans les balises < ?php et ?> Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 12 / 49
  • 13. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat PHP et HTML PHP (code) HTML content < ?php PHP code ?> HTML content < ?php PHP code ?> HTML content ... • Le code (PHP) contenu dans < ?php et ?> est exécuté et le résultat transmis au client. • Le code (HTML) non contenu dans < ?php et ?> est trans- mis tel quel au client. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 13 / 49
  • 14. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Table of Contents 1. PHP et HTML - URLs et serveurs Web - Programmation côté serveur - Cycle de vie d’une requête PHP - Envoi de code HTML au client - Exécution du PHP 2. Introduction au langage PHP - Les variables - Les types - Les opérateurs - Le conditionnelle - Les boucles - Les tableaux - Les fonctions - Les commentaires 3. Envoi de données au serveur - Requêtes et paramètres - Formulaire HTML Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 14 / 49
  • 15. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP Variables PHP (exemple) $user_name = "Peacetachful"; $age = 33; $age_in_dog_years = $age / 7; $this_class_rocks = TRUE; • Les noms de variable sont case-sensitive. On peut utiliser le _ si le nom est long et composé comme $user_name) . • Les noms de variables commencent toujours avec le caractère $ . • Les variables sont déclarées implicitement à la première affecta- tion. Une variable peut contenir des valeurs successives de types différents. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 15 / 49
  • 16. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP Les types Les types de base : integer, float, boolean, string, array, object, NULL, La fonction is_type teste le type d’une valeur (i.e is_string). La fonction gettype retourne le type d’une valeur sous la forme d’une chaîne de caractères (pas très utilisée). PHP convertit automatiquement très souvent : • string vers int conversion automatique avec + pour : ("1" + 1 == 2) . • int vers float conversion automatique avec / pour : (3 / 2 == 1.5) . Conversion explicite avec (type) : $age = (int) "21" ; Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 16 / 49
  • 17. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP Les opérateurs • Opérateurs Arithmétiques : +, -, *, /, % • Opérateurs d’Incrémentation & Décrémentation : ++, – – • Opérateurs d’Affectation : =, +=, -=, *=, /=, %=, .= • Opérateurs de concaténation : . • Opérateurs de comparaison : ==, <, >, <=, >=, !=, <>, ===, !== Beaucoup d’opérateurs convertissent automatiquement leurs opé- randes : 5 + "7" donne 12 . Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 17 / 49
  • 18. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP Le type string PHP $favorite_food = "Asian" ; print $favorite_food[2] ; # i C’est identique à un tableau de caractères, utilisable avec les [] L’opérateur de concatenation est . (point) et non + • 5 + "2 turtle doves" retourne 7. • 5 . "2 turtle doves" retourne "52 turtle doves". Peut être délimitée par " " ou ”. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 18 / 49
  • 19. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP Fonctions sur le type string PHP $name = "Emsi - 3iir" $length = strlen($name) ; # 11 $cmp = strcmp($name, "Emsi") ; # > 0 $index = strpos($name, "i") ; # 3 $last = substr($name, 8, 4) ; # "3iir" $name = strtoupper($name) ; # "EMSI - 3IIR" Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 19 / 49
  • 20. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP Fonctions sur le type string Nom Fonctions équivalentes en Java strlen length strpos indexOf substr substring strtolower, strtoupper toLowerCase, toUpperCase trim trim explode, implode split, join Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 20 / 49
  • 21. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP Chaînes et interpretation des variables PHP (exemple) $age = 16; print "You are " . $age . " years old." print "You are $age years old."; # You are 16 years old. • Les variables dans les chaînes délimitées par " " sont interpré- tées. • Les variables dans ces chaînes sont remplacées par leur valeur. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 21 / 49
  • 22. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP Chaînes et interpretation des variables • Les variables dans les chaînes délimitées par ’ ’ ne sont pas interprétées : PHP (exemple) print ’You are $age years old.’; # You are $age years old. • Pour lever toute ambiguité, on peut placer le nom de la variable entre : PHP (exemple) print "Today is your $ageth birthday."; # ageth not found print "This’s your {$age}th birthday."; # This’s your 16th birthday. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 22 / 49
  • 23. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP Le type Boolean PHP $feels_like_summer = FALSE ; $php_is_rad = TRUE ; $student_count = 217 ; $nonzero = (bool) $student_count ; # TRUE Les valeurs suivantes sont vues comme FALSE (toutes les autres valeurs sont vues comme TRUE ) : • 0, 0.0 et Tableaux avec 0 element. • " ", "0", et NULL (y compris les variables non initialisées). (bool) permet de convertir explicitement une valeur vers un boo- léen. print(FALSE) ne produit rien, print(TRUE) produit 1. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 23 / 49
  • 24. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP La forme conditionnelle if/else PHP (Modèle) if (condition) { statements ; } else if (condition) { statements ; } else { statements ; } On peut utiliser elseif (sans espace) au lieu de else if . Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 24 / 49
  • 25. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP La boucle for PHP (Modèle) for (initialization ; condition ; update) { statements ; } PHP (exemple) for ($i = 0; $i < 10; $i++) { print "$i squared is " . $i * $i . " <br>"; } Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 25 / 49
  • 26. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP La boucle while PHP (Modèle 1) while (condition) { statements ; } PHP (modèle 2) do { statements ; } while (condition) ; Les instructions break et continue existent et fonctionnent comme en Java. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 26 / 49
  • 27. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP Les tableaux PHP (Modèle) $name = array() ; # Create $name = array(value0, ..., valueN) ; $name = [value0,...] ; # Create $name[index] # Get element value $name[index] = value ; # Set element value $name[] = value ; # Append PHP PHP (Exemple) $a = array(); # Empty array (length 0) $a[0] = 23; # Stores 23 at index 0 (length 1) $a2 = array("some", "strings", "in", "an", "array"); $a2[] = "Ooh!"; # Add string to end (at index 5) NB : Un tableau peut contenir des éléments de différents types. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 27 / 49
  • 28. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP Fonctions sur les tableaux Nom Description count Nombre d’éléments dans un tableau print_r Affiche le contenu d’un tableau array_pop, array_push, array_shift, array_unshift Pour utiliser un tableau comme une pile/file in_array, array_search, array_search, sort, rsort, shuffle Recherche et tri array_fill, array_merge, array_intersect, array_diff, array_slice, range Création, initialisation et manpulation array_sum, array_product, array_unique, array_filter, array_reduce Traitement des éléments Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 28 / 49
  • 29. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP Exemple de fonctions sur les tableaux PHP (Exemple) $tas = array("CA", "MJ", "MG", "SK", "KC"); for ($i = 0; $i < count($tas); $i++) { $tas[$i] = strtolower($tas[$i]); } # ("ca", "mj", "mg", "sk", "kc") $conner = array_shift($tas); # ("mj", "mg", "sk", "kc") array_pop($tas); # ("mj", "mg", "sk") array_push($tas, "kt"); # ("mj", "mg", "sk", "kt") array_reverse($tas); # ("kt", "sk", "mg", "mj") sort($tas); # ("kt", "mg", "mj", "sk") $ks = array_slice($tas, 1, 2); # ("mg", "mj") Les tableaux en PHP remplacent la plupart des structures de données de Java : list, stack, queue, set, map, ... Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 29 / 49
  • 30. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP La boucle foreach PHP (Modèle) foreach ($array as $variableName) { statements ; } PHP (exemple) $stooges = array ("Larray", "Moe", "Curly", "Shemp"); foreach ($stooges as $stooge) { print "Moe slaps $stoogen"; # Even himself } La boucle foreach permet d’itérer sur les éléments d’un tableau sans utiliser les indices. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 30 / 49
  • 31. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP Les fonctions PHP (Modèle) function name(parameter1, ..., parameterN) { statements ; } PHP (exemple) function bmi($weight, $height) { $result = 703 * $weight / $height / $height; return $result; } • Les types des paramètres et de la valeur de retour ne sont pas spécifiés. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 31 / 49
  • 32. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP Appel de la fonction PHP (Modèle) name(expression1,..., expressionN) ; PHP (exemple) $w = 163; # pounds $h = 70; # inches $my_bmi = bmi($w, $h); Erreur Appeler une fonction avec le mauvais nombre d’argument provoque une erreur. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 32 / 49
  • 33. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP Portée des variables PHP (Exemple) $school = "EMSI"; # global ... function downgrade() { global $school; $suffix = "(3IIR)"; # local $school = "$school $suffix"; print "$schooln"; } • Les variables déclarées dans une fonction sont locales à cette fonction. • Les variables déclarées à l’extérieur d’une fonction sont globales pour cette fonction. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 33 / 49
  • 34. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP Paramètres par défaut PHP (Modèle) name (parameter1=value, ..., parameterN=value) { statements ; } PHP (exemple) function print_separated($str, $separator=", ") { for ($i = 1; $i < strlen($str); $i++) { print $separator . $str[$i]; } } print_separated("hello"); # h, e, l, l, o print_separated("hello", "-"); # h-e-l-l-o Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 34 / 49
  • 35. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Introduction au langage PHP Les commentaires PHP (Modèle) # commentaire sur une ligne // commentaire sur une ligne /* block de commentaires block de commentaires ... */ Comme en Java, avec # en plus : • Beaucoup de développeurs PHP utilisent # au lieu de // Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 35 / 49
  • 36. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Table of Contents 1. PHP et HTML - URLs et serveurs Web - Programmation côté serveur - Cycle de vie d’une requête PHP - Envoi de code HTML au client - Exécution du PHP 2. Introduction au langage PHP - Les variables - Les types - Les opérateurs - Le conditionnelle - Les boucles - Les tableaux - Les fonctions - Les commentaires 3. Envoi de données au serveur - Requêtes et paramètres - Formulaire HTML Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 36 / 49
  • 37. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Envoi de données au serveur Requêtes et paramètres PHP (exemple) URL?name1=value1&name2=value2... http://www.google.com/search?q=Aya http://example.com/student_login.php?username=aya&id=1234 • Il est possible de passer des paramètres lors d’une requête à un serveur : • Des couples (paramètre,valeur) placés à la fin de l’URL, par exemple, ( username , aya ), et ( id , 1234 ). • Un script PHP peut lire et utiliser ces paramètres. • Les paramètres sont toujours des chaînes de caractères. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 37 / 49
  • 38. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Envoi de données au serveur Requêtes GET et POST • Deux types de requête vers le serveur : 1 Une requête GET est utilisée pour obtenir des données (HTML) du serveur sans changer son état. La requête peut avoir des paramètres. 2 Une requête POST est utilisée pour transmettre des données au serveur et éventuellement changer son état. La requête peut avoir des paramètres. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 38 / 49
  • 39. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Envoi de données au serveur Les tableaux $_GET et $_POST PHP (exemple) $user_name = $_GET["username"]; $id_number = (int) $_GET["id"]; $eats_meat = FALSE; if (isset($_GET["meat"])) { $eats_meat = TRUE; } • $_GET["parameter"] ou $_POST["parameter"] contient la valeur d’un paramètre GET ou POST (une chaîne de carac- tères). • les paramètres passés directement dans l’URL sont des para- mètres GET : http ://domain/script.php ?name1=value1&name2=value2 Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 39 / 49
  • 40. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Envoi de données au serveur Exemple Puissance.php PHP (script) $base = $_GET["base"]; $exp = $_GET["exponent"]; $result = pow($base, $exp); print "$base ^$exp = $result"; PHP (URL) puissance.php ?base=3&exponent=4 PHP (Résultat) 3 ^4 = 81 Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 40 / 49
  • 41. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Envoi de données au serveur Formulaire HTML PHP (Modèle) <form action="destination URL" method="get OR post"> form controls </form> • L’élément de base en HTML pour transmettre des données au serveur. • L’attribut action contient l’URL du scrip (PHP) qui va traîter les données du formulaire. • Quand tous les éléments de formulaires ont été renseignés, le formulaire est soumis et les données contenues dans ces élé- ments sont transmises au script. • Si l’attribut action n’est pas présent, le script qui va traîter les données est le même qui contient ce formulaire ! Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 41 / 49
  • 42. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Envoi de données au serveur Element du formulaire : input PHP (Modèle) <input type="text" name="q" value="type in here" > <input type="submit" value="Send" > • L’élément input permet de créer beaucoup d’éléments de for- mulaire différents. • L’attribut name est le nom du paramètre envoyé au serveur. • L’attribut type détermine le type d’élément : button , file , checkbox , hidden , password , radio , reset , submit , text ,... • L’attribut value contient le texte initial de l’élément. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 42 / 49
  • 43. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Envoi de données au serveur Element du formulaire : textarea PHP (Modèle) <textarea rows="4" cols="20"> Type your comments here. </textarea> • L’élément input permet de créer beaucoup d’éléments de for- mulaire différents. • Une zone de saisie de texte sur plusieurs lignes. • Les attributs rows et cols spécifient la hauteur et la largeur en nombre de caractères. • L’attribut readonly rend le contenu de l’élément non modi- fiable. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 43 / 49
  • 44. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Envoi de données au serveur Element du formulaire : checkbox PHP (Exemple) <input type="checkbox" name="lettuce"> Lettuce <input type="checkbox" name="tomato" checked="checked"> Tomato <input type="checkbox" name="pickles" checked="checked"> Pickles • 0, 1, ou plusieurs checkboxes peuvent être sélectionnées en même temps. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 44 / 49
  • 45. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Envoi de données au serveur Element du formulaire : checkbox • Lors de l’envoi au serveur : • La valeur de l’attribut name de chaque checkbox sélectionnée est le nom d’un paramètre transmis au serveur, et la valeur de ce paramètre est on . http ://domain/script.php ?tomato=on&pickles=on PHP (Exemple) <input type="checkbox" name="lettuce" checked="checked" > • L’attribut checked permet de sélectionner des checkboxes par défaut : Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 45 / 49
  • 46. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Envoi de données au serveur Element du formulaire : button radio PHP (Exemple) <input type="radio" name="cc" value="visa" checked="checked"> Visa <input type="radio" name="cc" value="mastercard"> MasterCard <input type="radio" name="cc" value="amex"> American Express • Choix mutuellement exclusifs. • Un groupe est déterminé par la même valeur de l’attribut name. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 46 / 49
  • 47. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Envoi de données au serveur Element du formulaire : button radio • Lors de l’envoi au serveur : • La valeur de l’attribut name d’un groupe est le nom du paramètre transmis au serveur. • La valeur de l’attribut value du bouton sélectionné dans ce groupe est la valeur de ce paramètre. http ://domain/script.php ?cc=visa Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 47 / 49
  • 48. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Envoi de données au serveur Element du formulaire : input caché PHP (Modèle) <input type="text" name="username"> Name <br> <input type="text" name="sid"> SID <br> <input type="hidden" name="school" value="EMSI"> <input type="hidden" name="year" value="2019"> • Paramètre invisible à l’utilisateur dont la valeur (de l’attribut value ) est transmise au serveur lorsque le formulaire est sou- mis. • Très utile pour échanger des données entre plusieurs appels à des scripts. • Du point de vue de PHP, identique à un input de type text . Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 48 / 49
  • 49. PHP et HTML Introduction au langage PHP Envoi de données au serveur EMSI - Rabat Envoi de données au serveur Element du formulaire : select PHP (Modèle) <select name="favoritecharacter"> <option value="brad">Brad Pitt</option> <option value="george">George Clooney</option> <option value="johnny" selected>Johnny Depp </option> </select> • Le nom du paramètre transmis au serveur est la valeur de l’at- tribut name de l’élément select . • La valeur de l’attribut value de l’élément option sélectionné est la valeur du paramètre transmis au serveur. • select possède les attributs : disabled , multiple , size . • L’attribut selected permet de sélectionner un élément option par défaut. Pr. Mohammed SALIHOUN 4 octobre 2022 Partie 1 : Les bases du PHP 49 / 49