12
SI405C –Les logiciels libres de gestion de conte nu Initiation au langage de programmation PHP Ecoles des Sciences de l’Information Ecoles des Sciences de l’Information Enseignants : Ahmed BACHR Hassan HAMALA Année universitaire : 2007- 2008

Cours Php

Embed Size (px)

Citation preview

Page 1: Cours Php

SI405C –Les logiciels libres de gestion de conte nu

Initiation au langage de programmation PHP

Ecoles des Sciences de l’InformationEcoles des Sciences de l’Information

Enseignants :    Ahmed BACHR Hassan HAMALA

Année universitaire : 2007-2008

Page 2: Cours Php

SI405C –Les logiciels libres de gestion de conte nu

1

2

3

4

5

6

Contenu

Présentation du langage PHP

Qu’est ce que le PHP ?

Les principes de base

Les fonctions d’affichage

Connexion à une BDD Mysql La lecture des données dans une BDD Mysql

Page 3: Cours Php

SI405C –Les logiciels libres de gestion de conte nu

Présentation du langage PHP?

Pages Web statiques :– Actualisation difficile (FTP, template, …)– Manque d’interactivité pour l’internaute– Aucune automatisation possible pour les tâches d’administration (test des liens morts, gestion d’utilisateurs impossible, pas detemplate…)

Pages web dynamiques :– La page est générée en fonction des paramètres qui lui sont passés– Interaction avec l’internaute– Possibilité d’interaction avec les bases de données– Réduction du nombre de pages sur le serveur– Tâches de maintenances automatisées ou centralisés

Page 4: Cours Php

SI405C –Les logiciels libres de gestion de conte nu

Qu’est ce que le PHP?

PHP signifiait à l'origine Personnal Home Page, on considère maintenant qu'il veut dire PHP Hypertext Preprocessor.

PHP est un langage de script côté serveur. C'est-à-dire qu'il est utilisé pour écrire des petits programmes (scripts), qui seront appelés par un client (navigateur Web) en leur passant des valeurs issues d’un formulaire d'une page HTML, et qui seront exécutés par le serveur. Le résultat sera par exemple une page HTML renvoyée au client.

PHP est un langage interprêté par le serveur : le serveur lit le code PHP le traduit en langage machine, l’exécute et génère la page HTML qu’il envoie au client.

Page 5: Cours Php

SI405C –Les logiciels libres de gestion de conte nu

Les principes de base:

Le code PHP s'insère dans le code HTML au moyen des Balises (tags) :

<?php au début du script et ?> à la fin.

<html><head> <title>Le premier script</title></head><body><?phpecho"bonjour tout le monde";?></body></html>

Une instruction PHP se termine toujours par un point virgule. Si vous l'oubliez, votre

navigateur vous enverra des messages d'erreurs (parse error) NB : A la place des balises <?php et ?> peuvent être remplacées par <? et ?>, ou <SCRIPT LANGAGE="php"> et </SCRIPT>. On peut aussi utiliser les balises à la mode ASP de Microsoft <% et %>.

SI405C –Les logiciels libres de gestion de conte nu

Page 6: Cours Php

SI405C –Les logiciels libres de gestion de conte nu

Commentez vos scripts :

Il est fortement conseiller de commenter vos scripts, afin d'en faciliter la compréhension. Ces commentaires vous seront très utiles, si vous décidez de reprendre un script sur lequel vous n'avez pas travaillé depuis un moment. Ces petites indications seront ignorées par le serveur et le navigateur ne les affichera pas.

<?// Vous placez ici votre commentaire.?>

A la place des // , on peut utiliser # . Ces signes sont adaptés à un commentaire sur une seule ligne. Si vous souhaitez apporter des commentaires plus longs, utilisez la syntaxe suivante :<?php instructions PHP

/* votre commentaire */

suite des instructions PHP?>

Page 7: Cours Php

SI405C –Les logiciels libres de gestion de conte nu

Fonctions d’affichage<?phpecho “Les logiciels libres de gestion de contenu";?>

echo indique au navigateur qu'il faut afficher ce qui est placé entre les guillemets.

L'instruction peut être remplacée par print qui donne les mêmes résultats.

<?phpprint “Les logiciels libres de gestion de contenu ";?>

A l'aide de la balise echo, vous pouvez écrire du code HTML.

Exemple: <?phpecho "<p align='center'> Les logiciels libres de gestion de contenu</p>";?>

Page 8: Cours Php

SI405C –Les logiciels libres de gestion de conte nu

Connexion à la BDD

1- Connexion à Mysql

Pour vous connecter, vous utiliserez la fonction PHP : mysql_connect(). <?php mysql_connect("localhost", « root", ""); //le nom de l’hôte, le login et le mot de passe par défaut?>

Cette fonction a besoin de 3 arguments qu'il vous faudra renseigner :

Le nom de l'hôte : c'est l'IP de l'ordinateur où MySQL est installé. Le plus souvent, MySQL est installé sur le même ordinateur que PHP. Dans ce cas, mettez la valeur "localhost ".Le login : ça permet de vous identifier. Le mot de passe : votre mot de passe déclaré au niveau du serveur

Le code suivant permet d'établir une connexion à MySQL :

Page 9: Cours Php

SI405C –Les logiciels libres de gestion de conte nu

Connexion à la BDD

2- Sélection de la base de données

La fonction qui permet de sélectionner la BDD est : mysql_select_db()

<?phpmysql_connect("localhost", "root", ""); // Connexion à MySQL

mysql_select_db (" archivesi"); // Sélection de la base archivesi?>

3- La déconnexion

La fonction qui permet se déconnecter de MySQL est :mysql_close()

<?phpmysql_connect("localhost", « root", ""); // Connexion à MySQLmysql_select_db("archivesi"); // Sélection de la base archivesi

// On est connectés, on peut travailler sur la BDD// ...// On a fini de travailler, on ferme la connexion :mysql_close(); // Déconnexion de MySQL?>

Page 10: Cours Php

SI405C –Les logiciels libres de gestion de conte nu

La lecture la BDD

1- Faire une requête

La fonction qui permet de faire une requête : mysql_query<?php$reponse = mysql_query ("SELECT titre_dossier FROM dossier");?>

•Cette fonction prend un paramètre : ce que PHP doit aller dire à MySQL (en langage SQL). •Cette fonction renvoie une valeur, il faut donc qu'une variable récupère ce que MySQL nous a répondu.<?php$reponse = mysql_query("Tapez votre requête SQL ici");?>

La variable $reponse contiendra la réponse de MySQL

Exemple:

Page 11: Cours Php

SI405C –Les logiciels libres de gestion de conte nu

La lecture la BDD

1- Afficher le résultat de la requête <?phpmysql_connect("localhost", "root", ""); // Connexion à MySQLmysql_select_db(« archivesi"); // Sélection de la base archivesi$reponse = mysql_query("SELECT title_dossier FROM dossier"); // Requête SQL

// Avec cette boucle, on liste uniquement le titre des dossiers :

WHILE ($donnees = mysql_fetch_array($reponse) ){echo $donnees[‘titre_dossier];echo "<br />";}mysql_close(); // Déconnexion de MySQL?>

Le problème, c'est que $reponse affiche quelque chose d'inexploitable imaginez une table à 10 champs, avec 200 entrées, ça fait plus de 2000 informations dans une variable. PHP dispose d'une fonction toute prête, mysql_fetch_array, qui va créer un array à partir de $reponse

Par exemple, si vous vous intéressez au champ "Titre", vous utiliserez l'array $donnees[‘Titre']

Page 12: Cours Php

SI405C –Les logiciels libres de gestion de conte nu

La lecture la BDD

1- Afficher le résultat de la requête(suite)

$reponse contenait la réponse de MySQL en vrac. $donnees est un array renvoyé par la fonction mysql_fetch_array. A chaque fois qu'on fait une boucle, mysql_fetch_array va chercher dans $reponse l'entrée suivante et organise les champs dans $donnees.

2- Traquer les erreurs

Pour afficher des détails sur l'erreur, prenez l'habitude de rajouter le code or die(mysql_error()) sur la même ligne que vos mysql_query.

$reponse = mysql_query("SELECT titre_dossier FROM dossier") or die(mysql_error());