PHP MySQL N 0 IUT SRC TOULON

Documents pareils
Installation locale de JOOMLA SEPIA

Création d'un site dynamique en PHP avec Dreamweaver et MySQL

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

Tutoriel Drupal version 7 :

TP JAVASCRIPT OMI4 TP5 SRC

Sommaire Accès via un formulaire d'identification... 4 Accès en mode SSO... 5 Quels Identifiant / mot de passe utiliser?... 6

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

INTERNET est un RESEAU D ORDINATEURS RELIES ENTRE EUX A L ECHELLE PLANETAIRE. Internet : interconnexion de réseaux (anglais : net = réseau)

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Formulaire pour envoyer un mail

ISPConfig Documentation

Programmation Web. Madalina Croitoru IUT Montpellier

Votre adresse ... Pour consulter vos s, connectez-vous sur le site :

Faire fonctionner symfony sous wamp et windows avec des vhost. Installation de wamp

Gestion d'un parc informatique avec OCS INVENTORY et GLPI

Gérer ses fichiers et ses dossiers avec l'explorateur Windows. Février 2013

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Partager rapidement un fichier volumineux

STID 2ème année : TP Web/PHP

PLUGINS Guide du Développeur STEPHANE FERRARI. P l u X m l 5.4

Remote Cookies Stealing SIWAR JENHANI (RT4) SOUHIR FARES (RT4)

MANUEL WORDPRESS. Objectif: Refonte d un site web sous Wordpress I PRE-REQUIS: 1 / Créer un backup (sauvegarde) du site:

INSTALLATIONS. Vous adapterez l installation en fonction des nouvelles versions qui peuvent légèrement différer.

Mise en place d un serveur Proxy sous Ubuntu / Debian

Manuel d utilisateur du site de covoiturage «Etucovoiturage»

FORMATION PcVue. Mise en œuvre de WEBVUE. Journées de formation au logiciel de supervision PcVue 8.1. Lieu : Lycée Pablo Neruda Saint Martin d hères

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Guide de l'agent de notification

Attaques de type. Brandon Petty

TIC. Réseau informatique. Historique - 1. Historique - 2. TC - IUT Montpellier Internet et le Web

Publipostage avec Open Office Writer et Open Office Calc

Navigation dans Windows

Serveur de partage de documents. Étude et proposition d'une solution afin de mettre en place un serveur de partage de documents.

Installation et paramétrage. Accès aux modèles, autotextes et clip- art partagés

FORMATION DRUPAL. Support de cours - Mise à jour 02/11. Drupal / Matthieu Levet / JlGestion

CMS Made Simple Version 1.4 Jamaica. Tutoriel utilisateur Récapitulatif Administration

UwAmp. Serveur d'evaluation

Logiciel : GLPI Version : SYNCRHONISATION DE GLPI AVEC ACTIVE DIRECTORY. Auteur : Claude SANTERO Config. : Windows 2003.

INSTALLATION ET CONFIGURATION D'UN SERVEUR WEB SUR MAC OS X

Nouveautés joomla 3 1/14

LISTES DE DISTRIBUTION GÉRÉES PAR SYMPA DOCUMENT EXPLICATIF DE L'INTERFACE WEB À L'INTENTION DES ABONNÉS

Qlik Sense Cloud. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

KeePass - Mise en œuvre et utilisation

MANUEL INSTALLATION. GANESHA version 4. Editeur Anéma SAS Département Développement

ISPConfig Documentation

TP Service HTTP Serveur Apache Linux Debian

Partager son lecteur optique

Intranet d'établissement avec Eva-web Installation configuration sur serveur 2000 ou 2003 Document pour les administrateurs

Manuel d'installation de Joomla 1.7

Création de formulaires interactifs

1. La plate-forme LAMP

Installation d un hébergement Web à domicile

OpenOffice Base Gestionnaire de Base de Données

Mise en route et support Envision 10 SQL server (Avril 2015) A l'intention de l'administrateur SQL Server et de l administrateur Envision

GUIDE D'INSTALLATION DU SYSTEME DE GESTION DE BASES DE DONNEES MYSQL POUR LE PGI EBP

Joomla! Création et administration d'un site web - Version numérique

WEBMESTRE : CONCEPTION DE SITES ET ADMINISTRATION DE SERVEURS WEB

TP JEE Développement Web en Java. Dans ce TP nous commencerons la programmation JEE par le premier niveau d une application JEE : l application web.

Comment développer et intégrer un module à PhpMyLab?

RÉALISATION D UN SITE DE RENCONTRE

04/02/2014 Tutoriel. Lubuntu & glpi. thomas [NOM DE LA SOCIETE]

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

Google Tag Manager. «Vous ne verrez plus l'analytics de la même manière» par Ronan CHARDONNEAU

DECOUVERTE DE LA MESSAGERIE GMAIL

LES BIBLIOTHEQUES DE WINDOWS 7

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

Construction d un Site Internet Dynamique avec Joomla René-Yves Hervé, Ph.D.

Mysql avec EasyPhp. 1 er mars 2006

MESVISITEURSPRO.COM. TUTO : Comment intégrer Google Analytics à mon site?

AC PRO SEN TR «services TCP/IP : WEB»

F O R M A T I O N S LOTUS NOTES. 8.5 Utilisateurs rue de la Bôle. E U R L. a u c a p i t a l d e

BTS SIO Dossier BTS. PURCHLA Romain

Seagate Technology LLC S. De Anza Boulevard Cupertino, CA 95014, États-Unis

Dans l'article précédent, vous avez appris

Guide de l'utilisateur

Plateforme PAYZEN. Intégration du module de paiement pour la plateforme Magento version 1.3.x.x. Paiement en plusieurs fois. Version 1.

ENVOI EN NOMBRE DE Mails PERSONNALISES

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

Mettre Linux sur une clé USB bootable et virtualisable


Attaques applicatives

Petit guide à l'usage des profs pour la rédaction de pages pour le site Drupal du département

Je communique par

Formulaires et Compteurs

Système clients serveur Kwartz Vulgarisation, identification, dossier personnel

1. Utilisation du logiciel Keepass

Maarch V1.4

Installation et configuration de Vulture Lundi 2 février 2009

Installation Iconito École Numérique 2010 sous Windows WampServer

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

NAMEBAY PRO. votre site de revente de noms de domaine en marque blanche. Documentation technique

Transcription:

PHP MySQL N 0 IUT SRC TOULON 2016-2017

I Intro Relation Client / Serveur Client = Visiteur d un site web, personne qui demande à voir une page web. Serveur = Machine qui s occupe de distribuer le site web. Elle contient le site web sur son disque dur et dès qu un client demande à voir une page web, elle lui envoie.

Différence entre le XHTML et le PHP XHTML 1 Le client demande à voir une page HTML. 2 Le serveur envoie la page HTML demandée.

Différence entre le XHTML et le PHP PHP 1 Le client demande à voir une page PHP. 2 Le serveur génère la page PHP. Il ne l envoie pas au client car ce dernier ne peut pas la lire. Le client ne peut lire que des pages HTML. Le serveur transforme la page PHP en page HTML pour que le client puisse la lire. 3 Une fois que la page est générée, elle ne contient que du code HTML et le serveur l envoie alors au client.

II Wamp Présentation Package qui contient tous les programmes nécessaires pour pouvoir traiter du PHP. WAMP est l'acronyme de Windows Apache MySQL PHP. Programmes installés par WAMP : Apache : Programme qui permet au serveur de distribuer des pages web. Ne connaît que le HTML! PHP : Plugin d Apache. Il a besoin d'apache pour fonctionner, et grâce à lui Apache saura travailler sur des pages PHP. Donc Apache + PHP = un serveur PHP. MySQL : Programme qui permet d'utiliser des bases de données. PhpMyAdmin : Permet de gérer les bases de données.

Configuration WAMP en français : Faire clic droit sur l'icône de la barre des tâches et aller dans Language / French. Menu principal de WAMP : Faire clic gauche sur l'icône de la barre des tâches. Le premier élément du menu, Localhost, amène sur la page d'accueil de WAMP. De là, on peut voir en particulier tous les projets sur lesquels on travaille (dans la section "Vos projets").

Nouveau projet : Créer un nouveau répertoire dans le dossier "www". Un projet = Un site web. Si on clique sur Répertoire www dans le menu, WAMP ouvre l'explorateur Windows dans le dossier www. C'est dans ce dossier que les fichiers PHP pourront être lus correctement. Il est conseillé de créer un sous-dossier ("tests" par exemple) et de placer les fichiers PHP dedans. Après avoir créé le sous-dossier, il devrait apparaître sur la page d'accueil de WAMP : Il suffit de cliquer dessus pour exécuter les pages PHP qui se trouvent à l'intérieur. Fermer complètement WAMP : Faire un clic droit puis cliquez sur "Fermer" ("Exit") en bas.

III Bases de PHP Les balises PHP : Le code source d'une page HTML est constitué de balises (aussi appelées tags). Pour utiliser du PHP, il faut introduire une nouvelle balise : Elle commence par <?php et se termine par?>. C'est à l intérieure que l'on mettra du code PHP.

Afficher du texte <html> <head> <title>premier code PHP</title> </head> <body> <h2>premier code PHP</h2> <p> Ligne écrite en HTML. <br/> <?php echo "Ligne écrite en PHP.";?> </p> </body> </html>

Pour tester la page PHP : Démarrer WAMP et aller dans le menu Localhost. Sur la page d'accueil de Wamp, cliquer sur le lien vers le dossier "tests". Une page web s'ouvre indiquant tous les fichiers qui se trouvent dans le dossier "tests". Cliquer sur le fichier PHP à tester : L ordinateur génère le code PHP puis ouvre la page.

IV Inclure des portions de page Une des fonctionnalités les plus simples et les plus utiles de PHP est l'inclusion de pages. On peut très facilement inclure toute une page ou un bout de page à l'intérieur d'une autre page. Cela facilite la tâche en évitant d'avoir à copier le même code XHTML plusieurs fois.

V Variables Définition : Le symbole $ précède toujours le nom d'une variable. C'est un signe de reconnaissance. On peut mettre 3 sortes de "données" différentes dans une variable : Texte, nombres, ou booléens. Voici comment on les utilise : <?php $pseudo_visiteur = "Mathieu"; // Texte $age_visiteur = 19; // Nombre $majeur_visiteur = true; // Booléen?>

Afficher la valeur d'une variable : <?php $pseudo_visiteur = "Mathieu"; echo "Bonjour $pseudo_visiteur";?> Faire des calculs simples : <?php $nombre = 2 + 4; // $nombre prend la valeur 6 $nombre = 5-1; // $nombre prend la valeur 4 $nombre = 10; $resultat = ($nombre + 5) * $nombre; // $resultat prend la valeur 150?>

VI Conditions La structure de base : If... Else <?php $age = 8; if ($age < 18){ echo "Site interdit aux mineurs!<br/>"; $autorisation_entrer = "Non"; } Else { echo "Bonjour!<br/>"; $autorisation_entrer = "Oui"; } echo "Avez-vous l'autorisation d'entrer? Réponse : $autorisation_entrer";?>

Une alternative pratique : Switch <?php $note = 10; switch ($note){ case 0: echo "Tu es vraiment nul!!!"; break; case 5: echo "Tu es très mauvais"; break; case 7: echo "Tu es mauvais"; break; }?>

VII Boucles Une boucle simple : While <?php $nombre_de_lignes = 1; while ($nombre_de_lignes <= 100) { echo "Bonjour!<br />"; $nombre_de_lignes ++; }?>

Une boucle plus complexe : For <?php for ($nb_lignes = 1; $nb_lignes <= 100; $nb_lignes++) { echo "Ceci est la ligne n $nb_lignes <br />"; }?> Après le mot for, il y a 3 éléments entre parenthèses, séparés par des points-virgules : Le premier sert à l initialisation : C'est la valeur que l'on donne au départ à la variable. Le second, c'est la condition : Tant qu elle est remplie, la boucle est réexécutée. Le troisième, c'est l'incrémentation : Permet d'ajouter 1 à la variable.

VIII Fonctions Créer ses propres fonctions : Une fonction est utile si les mêmes instructions doivent être répétées X fois. <?php function DireBonjour($nom){ echo "Bonjour $nom!<br />"; } DireBonjour("Marie"); // Appel de la fonction DireBonjour("Patrice"); DireBonjour("Edouard");?>

En PHP il y a des centaines de fonctions toutes prêtes qu on peut utiliser. Il existe deux types de fonctions : Celles qui effectuent des actions, et ne renvoient aucune valeur. Celles qui, après plusieurs calculs, renvoient une valeur (ce sont les plus fréquentes)

IX Tableaux <?php // Création d un tableau $prenom $prenom = array ("François", "Michel", Nicole","Véronique", "Benoît"); // Affichage des valeurs du tableau for ($i = 0; $i < 5; $i++) { echo $prenom[$i]. <br/> ; // affiche $prenom[0], $prenom[1] etc... }?>

X Transmission de données avec l URL On peut envoyer des infos à la page bonjour.php via l URL : http://www.monsite.com/bonjour.php?nom=dupo nt&prenom=jean Le point d interrogation sépare le nom de la page PHP des paramètres. Les paramètres s enchainent ensuite selon la forme nom=valeur et sont séparés entre eux par le symbole &.

Récupérer les paramètres en PHP : La page bonjour.php va automatiquement créer un array au nom un peu spécial : $_GET. Nom $_GET[ nom ] $_GET[ prenom ] Valeur Dupont Jean On peut donc récupérer ces informations et faire ce qu on veut avec. <p>bonjour <?php echo $GET[ prenom ].. $GET[ nom ];?>!</p>

XI Transmission de données avec les formulaires Créer la base du formulaire : <form method="post" action="cible.php"> <p> On insèrera ici les éléments de notre formulaire. </p> </form> La balise <form> contient 2 attributs très importants à : La méthode (method) et la cible (target).

La méthode 2 méthodes possibles pour envoyer les données du formulaire : get : Les données transitent par l'url comme on l'a vu précédemment. On pourra les récupérer grâce à l'array $_GET. Cette méthode est assez peu utilisée car on ne peut pas envoyer beaucoup d'informations dans l'url. post : Les données ne transitent pas par l'url. L'utilisateur ne les verra donc pas passer dans la barre d'adresse. Cette méthode permet d'envoyer autant de données que l'on veut, ce qui fait qu'on la privilégie le plus souvent. Néanmoins, les données ne sont pas plus sécurisées qu'avec la méthode GET et il faut toujours vérifier si tous les paramètres sont bien présents et valides. On ne doit pas plus faire confiance aux formulaires qu'aux URL.

La cible L'attribut action sert à définir la page appelée par le formulaire. C'est cette page qui recevra les données du formulaire et qui sera chargée de les traiter. Imaginons le schéma suivant : Dans cet exemple, le formulaire se trouve dans la page formulaire.php. Cette page ne fait aucun traitement particulier. Une fois le formulaire envoyé (quand on a cliqué sur le bouton "Envoyer"), le visiteur est redirigé vers la page cible.php qui reçoit les données du formulaire.

Exemple : index.php : <form method="post" action="bonjour.php"> <p> <label for= l_pseudo >Votre pseudo :</label> <input type="text" name="pseudo" id="l_pseudo" value="mat" /> <input type="submit" value="valider" /> </p> </form>

Bonjour.php : <?php echo 'Bonjour '. $_POST['pseudo']. '!<br/>';?> <p>pour revenir au formulaire, <a href="index.php">cliquez ici</a> </p> Ne jamais faire confiance aux données reçues. Il faut donc à tout prix éviter qu'un visiteur puisse injecter du code Javascript dans les pages. Résoudre le problème est facile : il faut protéger le code HTML en l'échappant, c'est-à-dire en affichant les balises plutôt que de les faire exécuter par le navigateur.

Pour échapper le code HTML, il suffit d'utiliser la fonction htmlspecialchars qui va transformer les chevrons des balises HTML <> en < et > respectivement. Cela provoquera l'affichage de la balise plutôt que son exécution. <?php echo 'Bonjour '. htmlspecialchars($_post['pseudo']). '!<br/>';?> Il faut penser à utiliser cette fonction sur tous les textes envoyés par l'utilisateur qui sont susceptibles d'être affichés sur une page web.

XII Page protégée par mot de passe Comment procéder? Pour que l'utilisateur puisse rentrer le mot de passe, le plus simple est de créer un formulaire. Celui-ci appellera la page protégée et lui enverra le mot de passe. L'accès au contenu de la page ne sera autorisé que si le mot de passe est kang. Il faut donc créer 2 pages web : index.php qui contient un simple formulaire. bonjour.php qui contient les infos mais ne les affiche que si on donne le mot de passe.

index.php <p>veuillez entrer le mot de passe :<br/></p> <form action="bonjour.php" method="post"> <p> <input type="password" name="mot_de_passe" /> <input type="submit" value="valider" /> </p> </form> bonjour.php <?php if (isset($_post['mot_de_passe']) AND $_POST['mot_de_passe'] == "kang") { echo Bonjour! ; } else { echo '<p>mot de passe incorrect</p>'; }?>