Support de TP PHP IRSII 2013-2014 Support de cours PHP Page 1 Support proposé par C. Dabancourt, inspiré aussi par des exemples et tutoriels Internet 1 PHP SEANCE N°1 – INTRODUCTION A PHP ............................................................................................... 4 1.1 LE PRINCIPE DU PHP (10’) .................................................................................................................................. 4 1.2 L'ENVIRONNEMENT (1H) ..................................................................................................................................... 4 1.2.1 Les outils .................................................................................................................................................. 4 1.2.1.1 Configurer la machine « LPIRSII » ...................................................................................................................... 4 1.2.1.2 Lancer la machine virtuelle................................................................................................................................... 6 1.2.1.3 Configurer VirtualBox .......................................................................................................................................... 6 1.2.1.4 En cas de problème ............................................................................................................................................... 7 1.2.1.5 En cas de problème (cf windows) ......................................................................................................................... 7 1.2.2 Le traitement de texte (coté client) ........................................................................................................... 7 1.2.3 PHP en ligne de commande ..................................................................................................................... 8 1.3 CONFIGURER L’INTERFACE RESEAU DE MANIERE PERMANENTE ......................................................................... 9 1.4 UTILISATION DE LA DOC ..................................................................................................................................... 9 1.4.1 Si vous n’avez pas internet : installation de la doc (10’) ......................................................................... 9 1.4.2 Si vous avez Internet................................................................................................................................. 9 1.4.3 Trouver les fonctions ................................................................................................................................ 9 1.5 SERIE D’EXERCICE – EXEMPLES DE PROGRAMMES PHP (3H)................................................................................ 9 1.5.1 Exercice n°1 : les variables (20’) ........................................................................................................... 10 1.5.2 Les chaînes de caractères (utilisation des fonctions) ............................................................................. 10 1.5.2.1 Fonction str_replace............................................................................................................................................ 10 1.5.2.2 Fonction fgets ..................................................................................................................................................... 10 1.5.3 Les conditions......................................................................................................................................... 10 1.5.4 les boucles (for et while) ........................................................................................................................ 11 1.5.5 Exercice n°5 : les tableaux (foreach) ..................................................................................................... 11 1.5.6 Les tableaux associatifs .......................................................................................................................... 11 1.5.7 Les fonctions........................................................................................................................................... 11 1.5.8 Les dates ................................................................................................................................................. 11 1.5.9 Portée des variables (include) ................................................................................................................ 12 1.5.10 Lire/écrire un nombre dans un fichier texte ...................................................................................... 12 2 PHP SEANCE N°2 – PASSER DES VARIABLES ......................................................................................... 13 2.1 TESTER APACHE DEPUIS UN NAVIGATEUR......................................................................................................... 13 2.2 PHP POUR CREER UN SITE WEB ......................................................................................................................... 13 2.2.1 Créer l’utilisateur webadmin ................................................................................................................. 13 2.2.1.1 Voici la méthode pour créer le « webadmin » .................................................................................................... 13 2.2.1.2 Les droits sur le dossier /var/www...................................................................................................................... 14 2.2.2 Le programme de base « bonjour »........................................................................................................ 14 2.2.3 Exercices sur le navigateur .................................................................................................................... 14 2.3 PHP ET LE HTML (30’) .................................................................................................................................... 15 2.3.1 Les variables d’environnement .............................................................................................................. 15 2.3.2 Exercice n°2 : les boucles (for et while) ................................................................................................. 15 2.4 EXERCICE N°3 : PASSAGE DE VALEURS ENTRE 2 PAGES DANS UN SITE (1H)....................................................... 15
39
Embed
Support proposé par C. Dabancourt, inspiré aussi par des …dabancourt.free.fr › IRSIIphp › PHP-seance-1_a_8-v2.8.pdf · 2013-12-03 · Sous linux, on parle de LAMP (Linux-Apache-Mysql-Php),
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Support de TP PHP IRSII 2013-2014
Support de cours PHP Page 1
Support proposé par C. Dabancourt, inspiré aussi par des exemples et tutoriels Internet
1 PHP SEANCE N°1 – INTRODUCTION A PHP ............................................................................................... 4
1.1 LE PRINCIPE DU PHP (10’) .................................................................................................................................. 4 1.2 L'ENVIRONNEMENT (1H) ..................................................................................................................................... 4
1.2.1 Les outils .................................................................................................................................................. 4 1.2.1.1 Configurer la machine « LPIRSII » ...................................................................................................................... 4 1.2.1.2 Lancer la machine virtuelle ................................................................................................................................... 6 1.2.1.3 Configurer VirtualBox .......................................................................................................................................... 6 1.2.1.4 En cas de problème ............................................................................................................................................... 7 1.2.1.5 En cas de problème (cf windows) ......................................................................................................................... 7
1.2.2 Le traitement de texte (coté client) ........................................................................................................... 7 1.2.3 PHP en ligne de commande ..................................................................................................................... 8
1.3 CONFIGURER L’INTERFACE RESEAU DE MANIERE PERMANENTE ......................................................................... 9 1.4 UTILISATION DE LA DOC ..................................................................................................................................... 9
1.4.1 Si vous n’avez pas internet : installation de la doc (10’) ......................................................................... 9 1.4.2 Si vous avez Internet ................................................................................................................................. 9 1.4.3 Trouver les fonctions ................................................................................................................................ 9
1.5 SERIE D’EXERCICE – EXEMPLES DE PROGRAMMES PHP (3H) ................................................................................ 9 1.5.1 Exercice n°1 : les variables (20’) ........................................................................................................... 10 1.5.2 Les chaînes de caractères (utilisation des fonctions) ............................................................................. 10
1.5.2.1 Fonction str_replace ............................................................................................................................................ 10 1.5.2.2 Fonction fgets ..................................................................................................................................................... 10
1.5.3 Les conditions ......................................................................................................................................... 10 1.5.4 les boucles (for et while) ........................................................................................................................ 11 1.5.5 Exercice n°5 : les tableaux (foreach) ..................................................................................................... 11 1.5.6 Les tableaux associatifs .......................................................................................................................... 11 1.5.7 Les fonctions ........................................................................................................................................... 11 1.5.8 Les dates ................................................................................................................................................. 11 1.5.9 Portée des variables (include) ................................................................................................................ 12 1.5.10 Lire/écrire un nombre dans un fichier texte ...................................................................................... 12
2 PHP SEANCE N°2 – PASSER DES VARIABLES ......................................................................................... 13
2.1 TESTER APACHE DEPUIS UN NAVIGATEUR ......................................................................................................... 13 2.2 PHP POUR CREER UN SITE WEB ......................................................................................................................... 13
2.2.1 Créer l’utilisateur webadmin ................................................................................................................. 13 2.2.1.1 Voici la méthode pour créer le « webadmin » .................................................................................................... 13 2.2.1.2 Les droits sur le dossier /var/www ...................................................................................................................... 14
2.2.2 Le programme de base « bonjour » ........................................................................................................ 14 2.2.3 Exercices sur le navigateur .................................................................................................................... 14
2.3 PHP ET LE HTML (30’) .................................................................................................................................... 15 2.3.1 Les variables d’environnement .............................................................................................................. 15 2.3.2 Exercice n°2 : les boucles (for et while) ................................................................................................. 15
2.4 EXERCICE N°3 : PASSAGE DE VALEURS ENTRE 2 PAGES DANS UN SITE (1H)....................................................... 15
Support de TP PHP IRSII 2013-2014
Support de cours PHP Page 2
2.4.1 La méthode GET (15’) ............................................................................................................................ 15 2.4.2 La méthode POST (15’) .......................................................................................................................... 15 2.4.3 Valeur passée entre Trois pages (30’).................................................................................................... 15 2.4.4 Exercice n°4 : les formulaires HTML (1h) ............................................................................................ 16
EXERCICE N°4 : DEUX PAGES : LE JEU « PLUS GRAND-PLUS PETIT » (2H) .................................................................... 16 CONFIGURATION DU SERVEUR APACHE-PHP : AFFICHER LES MESSAGES D’ERREUR .................................................... 16
2.4.5 Jeu avec formulaire « hidden » .............................................................................................................. 16 2.4.6 Utilisation de session simple php (le panier !) ....................................................................................... 17 2.4.7 Jeu avec SESSION php ........................................................................................................................... 17
2.5 RECUPERER VOS PROGRAMMES ........................................................................................................................ 17 2.6 PHP A L’HEURE DU HTML5 ............................................................................................................................. 18
3 PHP SEANCE N°3 – PHP ET MYSQL ............................................................................................................ 19
3.1 INSTALLER PHPMYADMIN SUR LE SERVEUR ................................................................................................ 19 3.2 EXERCICE N°1 : LIRE UN FICHIER DE FORMAT « CSV » ....................................................................................... 19 3.3 EXERCICE N°2 : CONNEXION-DECONNEXION A UNE BDD MYSQL (1 SEULE TABLE) .......................................... 19 3.4 SELECT-DELETE-UPDATE-INSERT .......................................................................................................... 20
3.4.1 Exercice n°1 : select dans un tableau – 1 page ...................................................................................... 20 3.4.2 Exercice n°2 : gestion des erreurs SQL ................................................................................................. 21 3.4.3 Exercice n°3 : Insert – 2 pages .............................................................................................................. 21 3.4.4 Exercice n°4 : Delete – 1 page ............................................................................................................... 21 3.4.5 Exercice n°5 : Update – 2 pages ............................................................................................................ 21 3.4.6 Exercice n°6 : Tout mettre sur une seule page ....................................................................................... 21
5 PHP SEANCE N°5 - PROJET – 4H ................................................................................................................. 26
5.1 PROJET A REALISER. TROMBINOSCOPE ............................................................................................................. 26 5.1.1 Faire un dessin précis du site (avec des flèches pour indiquer le passage d’information, le nom et le
numéro associé de chaque page) .......................................................................................................................... 26 5.1.2 Définir la table SQL et la créer dans une BDD « trombinoscope ». ...................................................... 26 5.1.3 Définir et écrire les pages php. .............................................................................................................. 26
7.1 EXERCICE N°1 : UTILISATION DE LA CLASSE FPDF ............................................................................................ 29 7.2 INSTALLEZ ET TESTEZ LA CLASSE FPDF ET SES EXEMPLES ................................................................................. 29
7.2.1 Utilisation de la classe fpdf .................................................................................................................... 29 7.2.2 Exercice n°2 : Utilisation de la classe fpdf ............................................................................................ 29
8.1 AJAX AVEC JQUERY ......................................................................................................................................... 30 8.1.1 Exemple à tester ..................................................................................................................................... 30 8.1.2 Exemple à tester pour retourner un tableau à 2 colonnes : ................................................................. 30 8.1.3 Votre premier programme ajax avec php ............................................................................................... 31 8.1.4 Conseil : comment trouver les erreurs dans un page ajax ? .................................................................. 31
Support de TP PHP IRSII 2013-2014
Support de cours PHP Page 3
8.1.5 Exercice avec deux pages : le jeu « plus grand-plus petit » avec Ajax .................................................. 31 8.2 VISUALISER DES TABLES AVEC DATATABLES .................................................................................................. 31 8.3 AFFICHER DES POP-UP DYNAMIQUES ................................................................................................................. 33 8.4 EXERCICE N°4 : REPRENDRE L’APPLICATION « TROMBINOSCOPE ». .................................................................. 34
9.1 LA BANQUE – LES TRANSACTIONS ..................................................................................................................... 35 9.2 ANALYSER LE CORRIGE DU TP6 ....................................................................................................................... 35 9.3 ANALYSER LE CORRIGE DU TP3 : L’ADAPTER A ADODB ................................................................................. 35 9.4 REPRENDRE LE CORRIGE DU TROMBINOSCOPE : L’ADAPTER A ADODB ........................................................... 35 9.5 PROJET – GESTION DE BATEAUX ....................................................................................................................... 35
11.1 EXERCICE N°1 : LES CMS ............................................................................................................................ 38 11.2 EXERCICE N°2 : FAIRE UN SITE AVEC SPIP ................................................................................................... 38
11.2.1 Création du site ................................................................................................................................. 38 11.2.2 Structuration et données du site : ...................................................................................................... 38 11.2.3 La mise en forme du site (squelette) .................................................................................................. 38
11.3 EXERCICE N°3 : INSERER UNE PAGE PHP DANS SPIP...................................................................................... 38 11.4 EXERCICE N°4 : VOUS POUVEZ ESSAYER DE FAIRE LE MEME TRAVAIL AVEC JOOMLA .................................. 38
12.1 PHPCHECKSTYLE ....................................................................................................................................... 39 12.2 INSERER GOOGLEMAP EN PHP .................................................................................................................... 39 12.3 AJAXTERM : UN XTERM VIA LE WEB ............................................................................................................ 39 12.4 GLPI ............................................................................................................................................................ 39
<?php // page2.php session_start(); echo 'Bienvenue sur la page numéro 2<br />'; echo $_SESSION['favcolor']; // green echo $_SESSION['animal']; // cat echo date('Y m d H:i:s', $_SESSION['time']); // Vous pourriez utiliser la constante SID ici, tout comme dans la page page1.php echo '<br /><a href="page1.php">page 1</a>'; ?>
Exemple de code extrait de la documentation
2.4.7 Jeu avec SESSION php
Créez un dossier /var/www/TP2/jeuB
Vous ferez le même jeu en utilisant les variables de SESSION nommées « $_SESSION[”nbInconnu”] » et
« $_SESSION[”nbCoup”] ».
Voir l’exercice précédent. A faire : (internet = plusieurs connections simultanées ??)
Tester le jeu (la même page) avec 2 onglets (en même temps) sur firefox
Tester le jeu avec firefox ET Internet Explorer
Conclure.
2.5 Récupérer vos programmes
Lancer l’outil portable « filezilla »,
Ouvrez une connexion sur votre serveur
Récupérer tous vos fichiers sur votre clé USB.
Support de TP PHP IRSII 2013-2014
Support de cours PHP Page 18
2.6 PHP à l’heure du HTML5
2 remarques importantes
Les variables de session existent en html5 ; et ça change la conception du programme php
Les vérifications des champs de saisies doivent se faire en javascript pour plus d’interactivité avec
l’utilisateur. Il n’empêche que la vérification en php doit aussi exister avant de travailler avec la BDD.
Support de TP PHP IRSII 2013-2014
Support de cours PHP Page 19
3 PHP Séance n°3 – PHP et Mysql (BDD mysql en PHP et Sessions)
3.1 Installer phpmyadmin SUR LE SERVEUR
Grace à Filezilla (installer la version portable), déposer le fichier « phpMyAdmin-3.4.6-all-languages.tar » sur le
serveur « /var/www/ » avec
Le compte « webadmin ». Puis sur le serveur, tapez les commandes suivantes :
Webadmin$ cd /var/www/ Webadmin$ tar zxvf phpMyAdmin-3.4.6-all-languages.tar Webadmin$ mv phpMyAdmin-3.4.6-all-languages/ phpmyadmin
Vous pouvez tester depuis firefox : http://192.168.56.101/phpmyadmin
Se connecter avec « root » et « irsii » (mot de passe de mysql défini lors de l’installation de mysql)
Vous pouvez tester (sur le serveur) la connexion :
$ mysql –uroot -p
(avec le mot de passe ‘irsii’)
mysql> use mysql mysql> select * from user ;
… le plus simple reste d’utiliser phpMyAdmin à travers le navigateur !
3.2 Exercice n°1 : lire un fichier de format « csv »
Créez un fichier csv (avec 3 colonnes séparées par le caractère point-virgule ” ;” : nom, prénom, âge avec 3 ou
4 personnes).Parcourez ce fichier texte pour alimenter un tableau associatif php. Puis triez par nom/prénom/âge
et affichez ce tableau.
3.3 Exercice n°2 : connexion-déconnexion à une BDD mysql (1 seule table)
Avec phpMyAdmin, créez la BDD « seance3 » avec la table « produit » :
NP Produit Couleur QS
Integer Varchar(20) Varchar(20) Integer
Avec la documentation, créer un fichier « fonctionSQL.php » qui contient la fonction de connexion et la fonction