0% ont trouvé ce document utile (0 vote)
0 vues25 pages

Cours2 Poly

Ce document présente un cours sur le langage PHP, abordant des concepts clés tels que la structure des scripts PHP, la déclaration de variables, les tableaux, les fonctions, et les superglobales. Il traite également de l'utilisation de PDO pour interagir avec des bases de données, en mettant l'accent sur la sécurité et la facilité d'utilisation. Enfin, des astuces pour la documentation et la gestion des erreurs sont fournies.

Transféré par

gustavo juninio
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
0 vues25 pages

Cours2 Poly

Ce document présente un cours sur le langage PHP, abordant des concepts clés tels que la structure des scripts PHP, la déclaration de variables, les tableaux, les fonctions, et les superglobales. Il traite également de l'utilisation de PDO pour interagir avec des bases de données, en mettant l'accent sur la sécurité et la facilité d'utilisation. Enfin, des astuces pour la documentation et la gestion des erreurs sont fournies.

Transféré par

gustavo juninio
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

Cours 2 : Le langage

Applications web et mobiles


Christophe Gonzales

©CG(2023)
Architecture autour de PHP

1 requête
client serveur web
(browser) (apache)
4 page HTML

3 page HTML 2 script

interpréteur
PHP

=⇒ But : les scripts PHP produisent du texte HTML !


ils sont aussi utiles pour produire des données JSON

Cours 2 : PHP 1/24


Scripts PHP

Cours 2 : PHP 2/24


PHP à l’intérieur de balises HTML

Cours 2 : PHP 3/24


Déclarer des variables/affecter des valeurs

Cours 2 : PHP 4/24


Les chaı̂nes de caractères

Cours 2 : PHP 5/24


Les nombres

Cours 2 : PHP 6/24


Les tableaux

Cours 2 : PHP 7/24


Les constantes

Cours 2 : PHP 8/24


Les fonctions

Cours 2 : PHP 9/24


La portée des variables (1/4)

Cours 2 : PHP 10/24


La portée des variables (2/4)

Cours 2 : PHP 11/24


La portée des variables (3/4)

Cours 2 : PHP 12/24


La portée des variables (4/4)

Cours 2 : PHP 13/24


Les variables superglobales
▶ Superglobal : accessible dans tous les scopes
▶ Ce sont des tableaux ($GLOBALS['x'])

▶ Variables contenant les infos transmises par l’utilisateur


au serveur web :
▶ $_POST
▶ $_GET
▶ $_REQUEST = $_POST + $_GET

▶ Variables contenant les infos sur le serveur web :


▶ $_SERVER

▶ Variables contenant les infos sur les fichiers uploadés :


▶ $_FILES

▶ Variables de session et cookies :


▶ $_SESSION
▶ $_COOKIE

Cours 2 : PHP 14/24


Forms HTML et variables superglobales PHP

Cours 2 : PHP 15/24


Backend PHP et transfert d’informations en JSON

Cours 2 : PHP 16/24


Les boucles

Cours 2 : PHP 17/24


Les alternatives

Cours 2 : PHP 18/24


Les importations

Cours 2 : PHP 19/24


mysql et PDO

Requêtes MySQL =⇒ utiliser un ≪ database abstraction layer ≫

▶ ici : utilisation de PDO (PHP Data Objects)

▶ Avantages :
▶ sécurité (≪ prepared statements ≫)
▶ facilité d’utilisation (≪ helpers ≫)
▶ réutilisabilité (≪ API unifiée de bases de données ≫)
▶ applicabilité (≪ compatible avec de nombreuses bases :
MySQL, SQLite, Firebird, Oracle, etc.)

Cours 2 : PHP 20/24


Petit aperçu de PDO : création d’une instance

<?php
// creation de l'instance PDO et connexion à la BD
$dsn = "mysql:host=$mysqlHost;" .
"dbname=$mysqlDatabase;" .
"charset=$charset";
// les options
$opt = [
PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION,
PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
PDO::ATTR_EMULATE_PREPARES => false
];
$PDO = new PDO($dsn, $mysqlLogin, $mysqlPassword, $opt);
?>

Cours 2 : PHP 21/24


Petit aperçu de PDO : utilisation de l’instance

<?php
// définition de la requête
$query = "SELECT * FROM $mysqlTable ".
"WHERE field1=? AND field2 IN (?,?)";
$data = ['f1', 3, 5];
// envoi et exécution de la requête à la base
$statement = $PDO->prepare($query); // préparation
$exec = $statement->execute($data); // exécution
// récupération du résultat
$resultats = $statement->fetchAll(PDO::FETCH_ASSOC);
// affichages
print_r($resultats);

?>

Cours 2 : PHP 22/24


fetchColumn, fetch, fetchAll
▶ Récupérer des données de la BD

 1 valeur : fetchColumn



=⇒ 1 ligne : fetch


 plusieurs lignes : fetchAll

▶ Options pour fetch et fetchAll :


▶ PDO::FETCH NUM : indices = nombres
▶ PDO::FETCH ASSOC : indices = noms des champs dans la BD
PDO::FETCH NUM : PDO::FETCH ASSOC :
array ( array (
0 => 'toto', 'nom' => 'toto',
1 => 'titi' 'prenom' => 'titi'
); );

Cours 2 : PHP 23/24


Quelques astuces

▶ Documentation :
https ://[Link]/manual/fr/[Link]

▶ Visualisation des erreurs :


En début de programme :
ini_set('display_errors', 'On');
error_reporting(E_ALL);

Cours 2 : PHP 24/24

Vous aimerez peut-être aussi