3. 3
08:04:07
Programmation Web 2016-2017
Réseau
Serveur
Serveur Web
MySQL
Module PHP
.html
.php
.jpg
Client
Navigateur
•HTML
•JavaScript
•CSS
<?php
echo <<<HTML
<html>
<head>
<title>Hello</title>
</head>
<body>Hello world</body>
</html>
HTML;
GET /hello.php HTTP/1.0
Exécution d’un programme sur le serveur
Construction de la réponse
<html>
<head>
<title>Hello</title>
</head>
<body>Hello world</body>
</html>
Protocole HTTP
hello.php
Connexion sur le serveur (port 80)
Requête HTTP du client (hello.php)
Localisation de la ressource
Localisation du code PHP dans le fichier
Exécution du code PHP
Envoi du résultat au client
= réponse HTTP
Fermeture de la connexion
Rendu graphique des données
4. 4
08:04:07
Programmation Web 2016-2017
Réseau
Client Serveur
Demande de ressource
Traitement de la demande
La ressource est « .php »
Transfert de la demande
au module PHP
Exécution du script PHP
sur le serveur
Construction de la
réponse
Analyse de la réponse
Rendu graphique de la
réponse
Réponse produite
13. 13
08:04:07
Programmation Web 2016-2017
Gestion des erreurs – (Mauvais) Exemple
<html>
<head>
<title>die-exit</title>
</head>
<body>
<?php
if (!isset($val)) {
die($html."problème val") ;
/* Au delà de ce point,
fin du script */
}?>
Choix: $val
</body>
</html>
<html>
<head>
<title>die-exit</title>
</head>
<body>
problème val
PHP HTML
Navigateur
problème val
HTML non valide…
15. 15
08:04:07
Programmation Web 2016-2017
Warning: file(dummy.txt): failed to open stream: No
such file or directory in dummy.php on line 68
Problème de lecture
Problème de lecture
$v = @file("dummy.txt")
or die("Problème de lecture") ;
Fichier absent
18. 18
08:04:07
Programmation Web 2016-2017
Moteur de recherche
Fonctions de la même extension
Fonction courante
Descriptif Prototype
Liste et description
des paramètres
Valeur de retour
Version de PHP
Notes utiles
À voir aussi
23. Nom du driver Bases de données supportées
PDO_DBLIB FreeTDS / Microsoft SQL Server / Sybase
PDO_FIREBIRD Firebird/Interbase 6
PDO_IBM IBM DB2
PDO_INFORMIX IBM Informix Dynamic Server
PDO_MYSQL MySQL 3.x/4.x/5.x
PDO_OCI Oracle Call Interface
PDO_ODBC ODBC v3 (IBM DB2, unixODBC et win32 ODBC)
PDO_PGSQL PostgreSQL
PDO_SQLITE SQLite 3 et SQLite 2
PDO_4D 4D
23
08:04:07
Programmation Web 2016-2017
34. 34
08:04:07
Programmation Web 2016-2017
ERREUR !!
array(3) {
[0]=> string(5) "42000"
[1]=> int(1064)
[2]=> string(47) "Erreur de syntaxe près de 'COUCOU' à la ligne 1"
}
Code SQLSTATE
Code erreur spécifique
du driver
Chaîne erreur spécifique
au driver
38. 38
08:04:07
Programmation Web 2016-2017
+--------+------------------------------------+
| mor_id | mor_nom |
+--------+------------------------------------+
| 872 | With A Little Help From My Friends |
| 873 | The Letter |
| 874 | Marjorine |
| 875 | Midnight Rider |
| 876 | You Are So Beautiful |
| 877 | Feelin' Allright |
| 878 | Cry Me A River |
...
SELECT *
FROM morceau
ORDER BY mor_id
Résultat de requête
Curseur interne
48. 48
08:04:08
Programmation Web 2016-2017
Préparation de la requête
Association d'une valeur au 1er paramètre
Exécution de la requête
Association d'une valeur au 1er paramètre
Exécution de la requête
paramètre anonyme
49. 49
08:04:08
Programmation Web 2016-2017
Préparation de la requête
Association d'une valeur au paramètre nommé
Exécution de la requête
Association d'une valeur au paramètre nommé
Exécution de la requête
paramètre nommé
50. 50
08:04:08
Programmation Web 2016-2017
Préparation de la requête
Association d'une valeur au 1er paramètre
Exécution de la requête
Association d'une valeur au 1er paramètre
Exécution de la requête
paramètre anonyme
51. 51
08:04:08
Programmation Web 2016-2017
Préparation de la requête
Association d'une valeur au paramètre nommé
Exécution de la requête
Association d'une valeur au paramètre nommé
Exécution de la requête
paramètre nommé