Le langage php. Serveur http est automatiquement lancé.



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

TP JAVASCRIPT OMI4 TP5 SRC

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

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

Programmation Web. Madalina Croitoru IUT Montpellier

Attaques applicatives

Mise en place d un serveur Proxy sous Ubuntu / Debian

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

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

Diffuser un contenu sur Internet : notions de base... 13

Architectures web/bases de données

Formulaires et Compteurs

< Atelier 1 /> Démarrer une application web

Thème : Création, Hébergement et référencement d un site Web

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

Création de formulaires interactifs

Formation Webmaster : Création de site Web Initiation + Approfondissement

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Formulaire pour envoyer un mail

\ \ / \ / / \/ ~ \/ _ \\ \ ` \ Y ( <_> ) \ / /\ _ / \ / / \/ \/ \/ Team

CREATION WEB DYNAMIQUE

Mise à jour : Octobre 2011

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

KAJOUT WASSIM INTERNET INFORMATION SERVICES (IIS) 01/03/2013. Compte-rendu sur ISS KAJOUT Wassim

1 Introduction et installation

Programmation Web. Introduction

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Les solutions de paiement CyberMUT (Crédit Mutuel) et CIC. Qui contacter pour commencer la mise en place d une configuration de test?

TP1. Outils Java Eléments de correction

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

Développement d applications Internet et réseaux avec LabVIEW. Alexandre STANURSKI National Instruments France

Stockage du fichier dans une table mysql:

Pratique et administration des systèmes

EXTENSION WORDPRESS. Contact Form 7. Proposé par :

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

Failles XSS : Principes, Catégories Démonstrations, Contre mesures

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

Les serveurs WEBUne introduction

HTML. Notions générales

INFORMATIQUE & WEB. PARCOURS CERTIFICAT PROFESSIONNEL Programmation de sites Web. 1 an 7 MODULES. Code du diplôme : CP09

Bases de données et Interfaçage Web

Configuration du FTP Isolé Active Directory

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

MANUEL DE L UTILISATEUR

Environnements informatiques

Installation / Sauvegarde Restauration / Mise à jour

webmestre : conception de sites et administration de serveurs web 42 crédits Certificat professionnel CP09

L3 informatique TP n o 2 : Les applications réseau

WDpStats Procédure d installation

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Atelier Le gestionnaire de fichier

La programmation orientée objet Gestion de Connexions HTTP Manipulation de fichiers Transmission des données PHP/MySQL. Le langage PHP (2)

Dans cette Unité, nous allons examiner

Il est courant de souhaiter conserver à

DOSSIER D'ACTIVITES SUR LE PHP N 03 Créer une base de données MySQL avec PHPMyAdmin

LAMP : une nouvelle infrastructure LAMP. Une architecture modulaire. Installation

Tous les autres noms de produits ou appellations sont des marques déposées ou des noms commerciaux appartenant à leurs propriétaires respectifs.

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

Installation de Joomla avec Filezilla

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Dans nos locaux au 98 Route de Sauve NÎMES. Un ordinateur PC par stagiaire, scanner, imprimante/copieur laser couleur

Chapitre 1 Windows Server

Les cahiers pratiques de Anonymat.org. SocksCap32. Edition du 20 Octobre 2000

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Assistance à distance sous Windows

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

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

Manuel d utilisation du module Liste de cadeaux PRO par Alize Web

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Zope: une plateforme collaborative de développement web open source

Transfert de fichiers (ftp) avec dreamweaver cs5 hébergement et nom de domaine. MC Benveniste

Failles des applications Web. Ce document est extrait du travail de diplôme de M. DIZON dans l état.

HTTP. Technologies du Web. Programmation Web côté serveur. Mastère spécialisé Management et nouvelles technologies, 16 novembre 2009

Cours Linux. Cours en ligne Administrateur Systèmes Linux. Académie Libre

Le serveur web Windows Home Server 2011

VTX FTP. Transfert de fichiers business par FTP - Manuel de l'utilisateur. Informations complémentaires : info@vtx.

Imprimantes et partage réseau sous Samba avec authentification Active Directory

Bureautique Initiation Excel-Powerpoint

Devenez un véritable développeur web en 3 mois!

Manuel d'installation

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

Service de certificat

Attaques de type. Brandon Petty

Vulnérabilités et solutions de sécurisation des applications Web

Formation : WEbMaster

ECLIPSE ET PDT (Php development tools)

les techniques d'extraction, les formulaires et intégration dans un site WEB

Tutoriel Drupal version 7 :

CREATION d UN SITE WEB (INTRODUCTION)

PHP 5.4 Développez un site web dynamique et interactif

Tutoriel XBNE Connexion à un environnement XBMC distant

as Architecture des Systèmes d Information

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

SYSTÈMES D INFORMATIONS

FAIRE UN PAIEMENT TIPI

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

Transcription:

Le langage php 1. Introduction aux langages serveurs : Il y a deux modes d exécution d une page HTML : Local : en cliquant sur le fichier, le navigateur Serveur http est automatiquement lancé. Navigateur Http : lancement préalable du navigateur et recherche de la page sur un serveur distant. requête http Pour qu une machine puisse faire office de serveur http, il faut : Qu elle dispose d un service http (Apache, IIS, ) Serveur PC Que ce service http prenne en charge des langages dit serveur via des fichiers dll (sous "réseau" windows) ou des modules compilés (.o) sous linux. Ainsi quand une telle page est exécutée, la partie HTML ou script est exécutée par votre machine mais les requêtes lancées par les boutons d un formulaire seront exécutées par le serveur distant. Le code étant interprété (ou exécuté) par le serveur, il ne peut être vu par le client (en faisant voir le source). Mise en évidence des parties exécutées par le serveur et celles par le client (date.php) : <script language="javascript"> var d = new Date(); $LaDate = date("d/m/y"); var h = d.gethours(); $Lheure = date("h:i:s"); document.write("il est sur votre poste." + d); echo "il est sur le serveur $LaDate $Lheure <br/>"; </ script > Exécution locale : Exécution http : IE exécute seulement la partie javascript. IE exécute la partie javascript, le serveur web la partie php 2. Le PHP (personnal home page) : Logiciel freeware particulièrement adapté à des requêtes sur la base de données MySql. Les sites prennent souvent en charge le php qui permet une programmation plus puissante que le javascript. Syntaxe proche de celle du c et du c++ (classes). La première particularité de ce langage est que les variables commencent par un $. Représente le p dans un serveur lamp (linux + apache + mysql + php). Versions Windows (séparée ou dans la distribution easyphp) & linux. Le code est entouré par les chaînes et? > Le fichier doit avoir l extension php3..8 et peut s exécuter comme une page html (voir date.php plus haut) Il peut être aussi appelé par une page html : Par un lien, <a href SRC=URL> </a> Par une balise <script language="php" SRC=URL> </script> Par un formulaire avec un bouton SUBMIT. J:\JLP\Info\Internet\cours\5Php.doc JLPascal 1/6

3. Interaction avec un formulaire : On peut exécuter directement une page serveur (extension php, asp, pl ou cgi) mais on préfère l associer à un formulaire html qui soumettra au serveur l exécution d une page en précisant son URL dans l attribut ACTION de la balise FORM. De plus, pour signifier la fin de la saisie, on a un bouton de type SUBMIT. Exemple : <form method="post" action="page.php"> Auteur <input type = text name="auteur" > Prix <input type = text name="prix" > <input type= submit value=envoyer> </form> Une page php récupère ses paramètres soit par la méthode GET, soit par la méthode POST. Quand on utilise un formulaire pour appeler cette page, il suffit de le préciser dans l attribut METHOD de la balise form. La méthode GET a les particularités suivantes : les paramètres du formulaire apparaissent la suite de l URL, la liste démarrant avec un? et les paramètres étant séparés par un & : http://./page.php?auteur=zola&prix=100 Le maximum de la barre url à 255 caractères limite la quantité d informations La page php peut être appelée directement sans passer par un formulaire. La méthode POST a les particularités suivantes : Seule apparaît la page php dans la barre URL http://./page.php Pas de limite dans la tailles des paramètres Ne peut être appelée directement sans formulaire à moins qu il n y aie pas de paramètres. Les paramètres (ou variables d environnement) se récupèrent avec les instructions : o $auteur = $_GET["auteur"]; ou o $auteur = $_POST["auteur"]; On peut tester l existence de cette variable avec le test suivant : o if (isset ($_POST["auteur"])). 4. Exemple de page php mixant html & php : Voici une image qui change toutes les 10 minutes : <img src= $Lheure = date("h:i:s"); $image = substr ($Lheure,3,2); settype($image, "integer"); $image = round($image / 10); switch( $image ) { case 1: echo "gd_gaffe_000.gif"; break; case 2: echo " gd_gaffe_001.gif"; break; case 3: echo " gd_gaffe_002.gif"; break; default: echo " gd_gaffe_003.gif"; break; /* Fin du code PHP, reprise du code HTML */ height= 274 width= 394 border= 0 alt="bienvenue"> J:\JLP\Info\Internet\cours\5Php.doc JLPascal 2/6

5. Algorithmique : exemple un tri de tableau : $tab = array (2,5, 1,18,7,8,7,3,9,12); $nb = 10; for ($i = 1; $i < $nb ; $i++) { for ($j = 0 ; $j < $i ; $j++) { if ($tab[$i] < $tab[$j]) { $tempo = $tab[$i]; $tab[$i] = $tab[$j]; $tab[$j] = $tempo; // fin if // fin for // fin for echo "fin du tri <br/>"; for ($i = 0; $i < $nb ; $i++) echo "$tab[$i] "; 6. Accès aux fichiers : Counter.html <script language="php" src="counter1.php"> </script> Cette page a été accédée <object width="80" height="40" type="text/plain" data="compteur.txt"> </object> fois counter1.php $fichier = "compteur.txt"; if (!$fp = fopen($fichier,"r+")) { echo "fichier heure non trouvé, création\n"; $fp = fopen($fichier,"a"); $cpt = "000000"; else { $cpt = fgets($fp,6); fseek($fp, 0); $cpt++; fwrite ($fp, "$cpt\n\r"); fclose($fp); Création d un répertoire // Ce fichier creatdir.php est copié par ftp sur le site de free et executé par un accès http echo " realpath('creatdir.php') \n\r"; // permet de connaitre le nom reel du dossier $rep = "/mnt/109/sdb/c/e/jeanlouis.pascal/spip/img/html"; echo "Creation repertoire $rep \n\r"; if(mkdir ($rep,0755)) echo"création réussie"; else echo"erreur mkdir"; J:\JLP\Info\Internet\cours\5Php.doc JLPascal 3/6

7. Ecriture et utilisation de classes : testcounter.php " Compteur" moncpt soumet Compteur() affiche() include ("counter.php"); $moncpt = new Compteur( ); $moncpt->affiche(); class Compteur { var $cpt = "000000"; function Compteur () { $fichier = "compteur.txt"; if (!$fp = fopen($fichier,"r+")) { echo "fichier non trouvé création..\n"; $fp = fopen($fichier,"a"); else { $this->cpt = fgets($fp,6); fseek($fp, 0); $this->cpt = $this->cpt + 1; fwrite ($fp, "$this->cpt\n\r"); fclose($fp); // fin constructeur testcounter.php Counter.php function affiche () { $t4 =floor($this->cpt/1000); $this->cpt = $this->cpt % 1000; $t3 = floor($this->cpt/100); $this->cpt = $this->cpt % 100; $t2 = floor($this->cpt/10); $t1= $this->cpt % 10; echo "Cette page a été accédée <img src=$t4.gif > < img src=$t3.gif > < img src=$t2.gif > < img src=$t1.gif > fois"; // fin methode affiche // fin classe J:\JLP\Info\Internet\cours\5Php.doc JLPascal 4/6

8. Envoi de mails : <h2> Envoi de mail </h2> $dest = $_GET["dest"]; $sujet = $_GET["sujet"]; $message = $_GET["message"]; print ("Envoi mail à $dest <br/>"); ini_set("smtp","smtp.neuf.fr"); ini_set('sendmail_from', 'jean-louis.pascal@acxxx.fr'); mail($dest, $sujet, $message); print ("message envoyé <br/>"); 9. Gestion des cookies : Creation d un cookie // mise en place d'un cookie // d'une durée de vie d'une heure // 1 = ne peut être lu que par https // path : repertoire de validité $status = setcookie("cookie_jlp", "texte du cookie", time() + 3600, "/", "127.0.0.1", 0); echo " resultat de la creation = $status <br/>"; Lecture d un cookie echo " Lecture d'un cookie <br/>"; echo "mon cookie = ". $_COOKIE['cookie_jlp']." <br/>"; Destruction d un cookie $status = setcookie("cookie_jlp"); echo " resultat de la destruction = $status <br/>"; Emplacement des cookies J:\JLP\Info\Internet\cours\5Php.doc JLPascal 5/6

Fichier contenant les cookies 10. Fonctions de manipulation de chaines implode et explode : $tableau = array('nom', 'email', 'telephone'); $separateur = implode(",", $tableau); echo $separateur; $data = "jlp:*:1023:1000::/home/jlp:/bin/sh"; list($user, $pass, $uid, $gid, $gecos, $home, $shell) = explode(":", $data); echo "utilisateur $user <br/> home directory $home"; 11. Exécution d une commande ou d un programme : //echo exec( whoami ) ; echo exec('ls -la'); //echo exec('ps -elaf grep apache2'); 12. Du graphic en php : $Largeur = 320; $Hauteur = 200; $image = imagecreate($largeur, $Hauteur ); $w = 100; $h = 100; $cx = 100; $cy = 100; $s=0; $e=360; $bleu = imagecolorallocate ($image, 0, 0, 255); $rouge = imagecolorallocate ($image, 255,0,0); $vert = imagecolorallocate ($image,200,250,220); imagefilledrectangle ($image, 0, 0, $Largeur, $Hauteur, $vert); imageline ($image, 25, 50, 166, 132, $rouge); imagepng ($image); imagedestroy ($image); J:\JLP\Info\Internet\cours\5Php.doc JLPascal 6/6