Académique Documents
Professionnel Documents
Culture Documents
Developpement Web PDF
Developpement Web PDF
Sommaire
1.Architectures Web
2.Le langage HTML
3.JavaScript
4.La programmation Web avec PHP
5.Interface fonctionnelle PHP/MySQL
Développement Web
● Serveurs Web
● Technologies côté serveur
● Bases de données sur le Web
4
Serveurs Web
● Un site Web est un serveur d'informations inscrit sur le
WEB grâce à son identifiant (URL) sa présentation
(pages HTML) et ses procédures d'accès (HTTP).
● Le serveur web est l'ensemble des matériels, logiciels
et liaisons sur lequel sont implémentés les sites WEB et
qui permettent de les rendre consultables sur le WEB.
5
Serveurs Web
● Consultation de pages HTML statiques
6
Serveurs Web
● Les serveurs Web les plus connus sont:
● IIS (Internet Information Server) de Microsoft
● Apache : logiciel libre.
● WebSite
● NCSA httpd
● CERN httpd
● Personnal Web Server (PWS) de Microsoft
7
Serveurs Web
Configuration de Apache (httpd.conf)
• ServerName esmt.sn (ou adresse ip)
• Port 80
• DocumentRoot var/www/MonSiteWeb/
• MaxClients 150
8
Technologies côté serveur
● Le principe d'une page dynamique est d'être construite à la demande (à la
volée) par le serveur (côté serveur), en fonction de critères spécifiques.
● La présentation et le contenu affichés peuvent ainsi être personnalisés de
manière interactive, en fonction des produits, des internautes, des langues, etc.
● On reconnaît facilement un page dynamique grâce à l'URL qui s'affiche dans le
navigateur web de l'utilisateur:
– page statique: http://www.monsite.sn/accueil.htm: affiche la page
accueil.htm, stockée telle quelle sur le serveur,
– page dynamique: http://www.monsite.sn/accueil.php?langue=wo: affiche la
page accueil.php en demandant au serveur d'afficher le contenu de cette
page en wolof.
9
Technologies côté serveur
● Alors que les pages statiques font appel au html, les pages
dynamiques sont mises en oeuvre grâce à un langage de
programmation.
● Une page web dynamique est une page dont le code HTML
est produit par un langage de programmation.
– Le langage de programmation variera en fonction de la
technologie retenue (PHP, ASP,JSP, CGI, ColdFusion,
etc.).
10
Technologies côté serveur
● JSP (Java Server Pages)
– Au départ simple extension du langage Java, JSP est devenu
un véritable langage de développement web.
– il permet d'intégrer des scripts, ici sous forme de code Java,
dans les pages html.
– Lorsqu'une page JSP est appelée pour la première fois, elle est
compilée et transformée en servlet (programme côté serveur).
Ce servlet est exécuté et produit un contenu au format html qui
est envoyé à l'internaute.
11
Technologies côté serveur
12
Technologies côté serveur
13
Technologies côté serveur
● Coldfusion
– Coldfusion est un langage de scripts intégrés au code html.
Créé par la firme Allaire.
– Son principal avantage est lié à la rapidité d'apprentissage et de
développement. Il se prête très bien à la mise en oeuvre de
sites marchands ou d'information.
– Coldfusion est disponible pour la plupart des plateformes de
développement classiques: Windows, Mac, Linux, Solaris, etc.
14
Technologies côté serveur
15
Technologies côté serveur
16
Technologies côté serveur
● Le moteur de scripts
17
Technologies côté serveur
Résultat :
19
Bases de données sur le Web
requête Page
appel de Html
Client Internet Serveur
la page
réponse
Script
exécution
un script
● L’exécution du script se fait par un moteur de scripts.
21
Bases de données sur le Web
Du serveur vers le client
● Les pages web sont assemblées à partir des résultats
22
Bases de données sur le Web
• L’accès aux bases de données peut se faire via :
les scripts CGI
les Middleware
API (Application Programming Interface)
• Il y a donc plusieurs approches dont le choix dépend du
serveur Web et du système d’exploitation utilisés.
23
Bases de données sur le Web
24
Bases de données sur le Web
25
Bases de données sur le
Web
● Connexion via les Middleware
26
Bases de données sur le
Web
● Connexion via les API
– Une API (Interface de programmation) permet de définir la
manière dont un composant informatique peut communiquer
avec un autre.
– C'est donc une interface de code source fournie par un système
informatique ou une bibliothèque logicielle.
– Une application peut utiliser une API de connectivité pour se
connecter à un SGBD, soumettre des instructions SQL, extraire
des données et se déconnecter.
27
Bases de données sur le
Web
● Connexion via les API
– Comme API de connectivité à une base de données, citons:
● L'API native de la BD: mis à disposition par les constructeurs
(Oracle, Informix, Sybase, etc.),
● ODBC (Open DataBase Connectivity): standard développé par
Microsoft qui permet d'interfacer une application avec n'importe
quel serveur de base de données,
● JDBC (Java DataBase Connectivity): API Java faisantt appel à
ODBC ou à des API propriétaires spécifique à chaque SGDB.
28
Bases de données sur le
Web
● ODBC
Jean-Marie PREIRA 29
Liens utiles
30
Développement Web
31
SOMMAIRE
32
Mise en forme d’un texte en HTML
33
Mise en forme d’un texte en HTML
34
Mise en forme d’un texte en HTML
Ossature d’un fichier HTML
<html>
<head>
<title>Titre de la page</title>
</head>
<body>
Contenu de la page...
</body>
</html>
35
Mise en forme d’un texte en HTML
Les balises
36
Mise en forme d’un texte en HTML
Les balises
EXEMPLE 1 :
EXEMPLE 2 :
37
Mise en forme d’un texte en HTML
Les balises
Commande Description
<h1></h1> ; <h2></h2> ;… ; <h6></h6> Variantes de titres (6 tailles possibles)
<b></b> Caractères gras
<i></i> Caractères Italiques
<big></big> Caractères plus grands
<small></small> Caractères plus petits
<u></u> Caractères soulignés
<s></s> ou <strike></strike> Texte barré
<sub></sub> Indice
<sup></sup> Exposant
<p></p> Paragraphe
<br /> ou <br> Saut de ligne
<hr> Ligne horizontale
38
Mise en forme d’un texte en HTML
Les balises
EXEMPLE 1 :
EXEMPLE 2 :
37
Mise en forme d’un texte en HTML
Les attributs
EXEMPLE 3 :
Par exemple l’attribut align, permet d’indiquer
l’alignement d’un paragraphe (à gauche, au centre ou à
droite).
40
Mise en forme d’un texte en HTML
Références des commandes HTML
<body>…</body>
alink="#RRGGBB" couleur (format RVB) d’un lien actif
link ="#RRGGBB" couleur du lien non activé
vlink ="#RRGGBB" couleur d’un lien visité
background="chemin de l’image d’arrière plan"
bgcolor ="#RRGGBB" couleur d’arrière plan
text ="#RRGGBB" couleur du texte
41
Mise en forme d’un texte en HTML
Références des commandes HTML
<font>…</font>
size="X" taille de la police (valeur de 1 à 7)
color ="#RRGGBB"
face =“nom de la police de caractères"
42
Mise en forme d’un texte en HTML
Références des commandes HTML
La balise <meta> permet de donner des informations sur le document
<head>
….
<meta name="author" content=" Nom de l’auteur">
<meta name="keywords" content=" liste de mots clés">
<meta name="description" content="courte description de la page">
<meta name="date" content="date de création">
</head>
Liens utiles:
• http://www.w3.org (W3C)
• http://mypage.bluewin.ch/a-z/richard_baud/920a.html
43
Mise en forme d’un texte en HTML
Couleurs standards
44
Mise en forme d’un texte en HTML
Caractères spécifiques
Février 2008 44
Mise en forme d’un texte en HTML
Liste numérotée
47
Mise en forme d’un texte en HTML
Liste avec puces
Le type de puce est défini dans la balise <LI>
par l’attribut TYPE ="DISC |CIRCLE | SQUARE "
48
Images sur une page web
Formats d’image
49
Images sur une page web
Insertion d’une image
50
Images sur une page web
Insertion d’une image
Exemple:
51
Les Hyperliens
52
Les Hyperliens
Ancres
Une ancre est l’indication d’une cible par une balise <A>.
La cible peut être :
– Une étiquette (ou un signet) dans un document local
ou distant.
– Un document local ou distant
défini par son chemin d’accès ou son URL.
53
Les Hyperliens
Ancres
● La déclaration de l’étiquette (cible) sur le document
concerné se fait par:
<A NAME="mon_etiquette">Mon étiquette</A>
54
Les Hyperliens
Ancres
55
Les Hyperliens
Lien vers une adresse e-mail
56
TABLEAUX
57
TABLEAUX
58
TABLEAUX
Titre
<table align=center>
<caption>Mon premier tableau</caption>
59
TABLEAUX
les lignes
60
TABLEAUX
Cellules de données
61
TABLEAUX
En-tête
62
TABLEAUX
Exemple
63
TABLEAUX
Résultat
64
Formulaires HTML
Principe général
● Les formulaires sont utilisés pour échanger des
données entre le poste client et le serveur.
● Cet échange de données fait appel à des
programmes spéciaux s’exécutant sur le
serveur (scripts CGI, ASP ou PHP).
65
Formulaires HTML
Principe général
● L’utilisateur remplit le formulaire et le valide ce qui a
pour effet d’envoyer des données vers le script situé
sur le serveur
66
Formulaire HTML
Balise <FORM>
• <form>…</form> délimitent un formulaire
• Les attributs associés à la balise <form> sont:
action="URL du script recevant les données"
name= "nom du formulaire"
method= "post" ou "get", méthode de transmission des
données
67
Formulaire HTML
Objets input
● Les objets input permettent la saisie de
données, ils sont de plusieurs types.
● On les déclare par la balise <input> et l’attribut
type=
68
Formulaire HTML
Objets input
<input>
Type= Type d’objet Autres attributs
text Champ de saisie Size, maxlength, value, name
password Champ de mot de passe Size, maxlength, value, name
hidden Champ masqué value, name
Radio Bouton radio value, name, checked
checkbox Case à cocher value, name, checked
Submit Bouton de soumission formulaire value, name
70
Formulaire HTML
Menu déroulant
● <select>…</select> délimitent un menu déroulant.
● <option>…</option> délimitent chaque option du menu
<select name="...">
<option value="...">choix1</option>
<option value="...">choix2</option>
<option value="..." selected>choix3</option>
</select>
72
Sommaire
●
Qu'est-ce que php ?
●
Les scripts PHP
●
Les applications PHP
●
Les bases du langage PHP
●
Les tableaux
●
Les chaînes de caractères
●
Transmission de données
●
Fonctions de base PHP
●
Variables prédéfinies
●
Classes et objets 73
Qu'est-ce que php ?
74
Qu'est-ce que php ?
75
Qu'est-ce que php ?
• Mode de fonctionnement
– La programmation avec php consiste à insérer des lignes de
programmation dans la source d'un document html.
– Ces lignes représentent une succession de commandes qui
doivent être interprétées par la machine qui exécute le script.
– PHP est un langage de script qui fonctionne côté serveur, le client
ne reçoit que le résultat du script, sans aucun moyen d'avoir accès
au code qui a produit ce résultat.
76
Qu'est-ce que php ?
• Historique
– Début 1995: Personnal Home Page Tools, bibliothèque Perl créé par
Rasmus Lerdorf pour compter les visiteurs de son site personnel.
– Été 1995: PHP/FI (Personnal Home Page/Forms Interpreter), la
bibliothèque Perl s’est muée en une implémentation directement en
C. On peut alors communiquer avec les bases de données, créer
des applications dynamiques pour le web, gérer des formulaires,
etc.
– Novembre 1997: PHP/FI 2.0
77
Qu'est-ce que php ?
• Historique – suite
– Juin 1998: PHP 3.0 (PHP Hypertext Preprocessor)
refonte de PHP/FI par Andi Gustman et Zeev Suraski
(fondadeur de Zend) et Rasmus.
– Mai 2000: PHP 4.0, intégration d’un nouveau moteur de
script, le Zend Engine.
– 2005: PHP 5.0, avec un nouveau moteur, le Zend Engine
2
78
Qu'est-ce que php ?
Exemple:
<html>
<head>
<title>Exemple1</title>
</head>
<body>
<h1 align="center">BIENVENUE!</h1>
<?php
$nom="Pierre";
echo"<h2 align=‘center’>sur le site web
personnel de $nom</h2>";
?>
</body>
</html>
79
Qu'est-ce que php ?
• La règle du traitement par le serveur est la suivante :
– Le code PHP est inclus entre une balise de début (<?php par exemple), et
une balise de fin (?> par exemple).
– Lorsque le programme d'analyse détecte la balise de début <?php, il passe
en « mode PHP » et exécute les instructions qu’il lit jusqu'à ce que la balise
de fin ?> soit rencontrée.
– Lorsque le programme d'analyse rencontre la balise de fin , il considère que
les instructions qui suivent ne sont plus des scripts PHP et il les traite
comme un code HTML, il se contente donc de les envoyer au navigateur
client pour qu’il les interprète.
80
Qu'est-ce que php ?
81
Les scripts PHP
• <?
...
Script à exécuter
...
?>
Ce marquage demande parfois une configuration du serveur pour être
accepté.
• <SCRIPT LANGUAGE="php">
...
Script à exécuter
...
</SCRIPT>
82
Les scripts PHP
• <%
...
Script à exécuter
...
%>
Ce marquage style ASP est utilisé mais n'est pas reconnu par tous les serveurs web.
• <?php
...
Script à exécuter
...
?>
Pour des raisons de commodité, il est conseillé d'utiliser cette solution qui est plus
condensée et reste acceptée par l'ensemble des serveurs.
83
Les scripts PHP
Instructions
Toute instruction PHP se termine par un ";"
Commentaires
• Commentaire sur une ligne: // ou #
• Commentaire sur plusieurs lignes:
/* ...
……..*/
84
Les applications PHP
• Les applications PHP
– PHP dispose d’un véritable écosystème.
– Certaines solutions facilitent et accélèrent le développement, d’autres se concentrent sur le
déploiement ou l’administration.
– Certaines de ces solutions sont produites par la communauté Open Source. On peut citer :
• eGroupware (travail collaboratif),
• SPIP (gestion de contenu),
• phpBB (forum),
• SquirrelMail (webmail),
• PhpMyAdmin (interface d’administration de MySQL),
• FPDF (bibliothèque pour la création de fichier PDF).
– Le site http://www.guidephp.com une sélection des meilleurs applications PHP
85
Les applications PHP
• Les ressources d’aide
– Le site de référence PHP: propose un accès à la documentation en
ligne (site Internet: http://php.net )
– Afup: Association française des utilisateurs de PHP (site Internet:
http://www.afup.org)
– PHPindex.com: site pionners français sur PHP
(site Internet: http://phpindex.com)
– Nexen.com: propose de nombreux articles sur l’utilisation de PHP
(site Internet: http://phpfrance.com)
86
Les bases du langage PHP
Les types
• Le type d'une variable ou d'une constante est défini par la valeur qui lui a
été affectée lors de sa création. Il existe cinq types de données.
Les constantes
• Pour créer une constante, il faut un identifiant (un nom) valide et la
créer en utilisant la fonction :
define("nom_de_la_constante",valeur_de_la_constante );
• L'appel de la constante ainsi créée se fait par le nom choisi
88
Les bases du langage PHP
Les constantes
<?php
define(“SALUTATION", “Bonjour!");
define("annee", 1970);
echo SALUTATION, " est du type ", gettype(SALUTATION), "<br>";
echo annee, " est du type ", gettype(annee), "<br>";
?>
90
Les bases du langage PHP
Les variables
• Pour définir une variable, il suffit de l'initialiser.
• Il n’existe pas de partie déclarative dans PHP.
• Les variables PHP sont toutes précédées du signe $
91
Les bases du langage PHP
Les variables
• il est possible de réaliser des conversions. Dans ce cas, le type de données
ciblées doit être explicitement mentionné
<?php
$ma_variable=1; // $ma_variable est de type integer et vaut 1
$chaine = (string) $ma_variable ; /* $chaine est de type "string" chaîne
de caractère et vaut "1" */
?>
92
Les bases du langage PHP
Les opérateurs
• Opérateurs arithmétiques :
– + (addition), - (soustraction), * (multiplié), / (divisé), % (modulo),
– ++ (incrément), --(décrément).
• Opérateurs d’assignement :
– = (affectation),
– *= ($x*=$y équivaut à $x=$x*$y),
– /=, +=, -=, %=
• Opérateurs logiques :
– and, && (et), or, || (ou), xor (ou exclusif), ! (non)
• Opérateurs de comparaison :
– == (égalité), < (inférieur strict), <= (inférieur large), >, >=, != (différence)
93
Les bases du langage PHP
Les fonctions
• PHP permet l’écriture de fonctions.
• Les fonctions peuvent prendre des arguments dont il
n’est pas besoin de spécifier le type.
• L’appel à une fonction peut ne pas respecter son
prototypage (nombre de paramètres).
94
Les bases du langage PHP
Les fonctions
function mafonction($toto) {
$toto += 15;
echo ‘’Salut !’’;
return ($toto+10);
}
$nbr = MaFonction(15.1);
95
Les bases du langage PHP
Structures conditionnelles
Même syntaxe qu’en langage C
• if (expression1) {
instructions…
} elseif (expression2) {
instructions…
} else {
instructions…
}
96
Les bases du langage PHP
Structures conditionnelles
<?php
if ($i == 0)
{ print "i égale 0"; }
if ($i == 1)
{ print "i égale 1"; }
if ($i == 2)
{ print "i égale 2"; }
?>
<?php
switch ($i) {
case 0: print "i égale 0"; break;
case 1: print "i égale 1"; break;
case 2: print "i égale 2"; break;
}
?>
97
Les bases du langage PHP
Structures de boucle
• for
Les boucles for sont les boucles les plus complexes en PHP. Elles fonctionnent comme les boucles for
du langage C. La syntaxe des boucles for est la suivante:
<?php
for (expr1; expr2; expr3) {
instructions…
}
?>
• La première expression (expr1) est évaluée (exécutée), quoi qu'il arrive au début de la boucle.
• Au début de chaque itération, l'expression expr2 est évaluée. Si l'évaluation vaut TRUE, la boucle
continue et l'instruction est exécutée. Si l'évaluation vaut FALSE, l'exécution de la boucle s'arrête.
• A la fin de chaque itération, l'expression expr3 est évaluée (exécutée).
98
Les bases du langage PHP
Structures de boucle (for)
<?php
for ($i = 1; $i <= 10; $i++) {
print $i;
}
?>
<?php
for ($i = 1; ; $i++) {
if ($i > 10) break;
print $i;
}
?>
99
Les bases du langage PHP
Structures de boucle
• while
• La boucle while est le moyen le plus simple d'implémenter une boucle en PHP. Cette boucle se
comporte de la même manière qu'en C. La syntaxe est la suivante :
<?php
while (expression) {
instructions…
}
?>
• La signification d'une boucle while est très simple. Le PHP exécute l'instruction tant que l'expression
de la boucle while est évaluée comme TRUE. La valeur de l'expression est vérifiée à chaque début
de boucle, et, si la valeur change durant l'exécution de l'instruction, l'exécution ne s'arrêtera qu'à la
fin de l'itération (chaque fois que le PHP exécute l'instruction, on appelle cela une itération). De
temps en temps, si l'expression du while est FALSE avant la première itération, l'instruction ne sera
jamais exécutée.
100
Les bases du langage PHP
Structures de boucle (while)
<?php
$i = 1;
while ($i <= 10) {
print $i;
$i++;
}
?>
101
Les bases du langage PHP
Structures de boucle
• do..while
• Les boucles do..while ressemblent beaucoup aux boucles while, mais l'expression est
testée à la fin de chaque itération plutôt qu'au début.
<?php
do {
instructions…
} while (expression);
?>
• La principale différence par rapport à la boucle while est que la première itération de
la boucle do..while est toujours exécutée (l'expression n'est testée qu'à la fin de
l'itération), ce qui n'est pas le cas lorsqu’on utilise une boucle while (l'expression est
vérifiée au début de chaque itération).
102
Les bases du langage PHP
Structures de boucle (do .. while)
<?php
$i = 1;
do {
print $i;
} while ($i < 10);
?>
103
Les tableaux
●
Principe
– Création à l’aide de la fonction array()
– Uniquement des tableaux à une dimension
●
Les éléments d’un tableau peuvent pointer vers d’autres tableaux
– Les éléments d’un tableau peuvent appartenir à des types distincts
– L’index d’un tableau en PHP commence de 0
– Pas de limites supérieures pour les tableaux
– La fonction count() donne le nombre d’éléments d’un tableau
104
Les tableaux
●
Les tableaux indicés
– Accéder aux éléments par l’intermédiaire de numéros
//$tableau[indice] = valeur;
$jour[3] = "Mercredi";
$note[0] = 20;
//$variable = $tableau[indice];
$JJ = $jour[6]; // affecte "Samedi" à $JJ
echo $note[1] + $note[5];
105
Les tableaux
●
Les tableaux associatifs (ou table de hachage)
– Les éléments sont référencés par des chaînes de caractères associatives en guise
de nom: la clé d’index
//$tableau["indice"] = valeur;
$jour["Dimanche"] = 7
$jour["Mercredi"] = "Le jour des enfants"
//$tableau = array(ind0 => val0, ind1 => val1,..., indN => valN);
$jour = array("Dimanche" => 1, "Lundi" => 2, "Mardi" => 3, "Mercredi" => 4,
"Jeudi" => 5, "Vendredi" => 6, "Samedi" => 7);
$variable = $tableau["indice"];
$JJ = $jour["Vendredi"]; //affecte 6 à $JJ
echo $jour["Lundi"]; //retourne la valeur 2
106
Les tableaux
● Tableaux multidimensionnels
– Pas d'outils pour créer directement des tableaux multidimensionnels
– L'imbrication des tableaux est possible
// $variable = $tableau[indice][indice];
$MM = $element_date[0][0]; //affecte "Janvier" à $MM
echo $element_date[1][5] . " 7 " . $element_date[0][2] . "2002"; // retourne "Jeudi 7 Mars 2002"
107
Les tableaux
●
Lecture des éléments d’un tableau
– Avec une boucle for
for ($i=0; $i<count($tab) ; $i++){
if ($tab[$i]== "a") {echo $tab[$i],
"<br />"; }
}
– Avec une boucle while
$i=0;
while ($tab[$i]){
if ($tab[$i][0] =="a" ) {
echo $tab[$i], "<br /> "; }
}
108
Les tableaux
109
Les tableaux
●
Lecture des éléments d’un tableau
– Parcours d'un tableau associatif
Réalisable en ajoutant avant la variable $valeur, la clé associée
●
$tableau = array(clé1 => val1, clé2 => val2, ..., cléN => valN);
foreach($tableau as $clé => $valeur) {
echo "Valeur ($clé): $valeur";
}
$jour = array("Dimanche" => 7, "Lundi" => 1, "Mardi" => 2, "Mercredi" =>
3, "Jeudi" => 4, "Vendredi" => 5, "Samedi" => 6);
foreach($jour as $sJJ => $nJJ) {
echo "Le jour de la semaine n° ". $nJJ . " : " . $sJJ . "<br>";
}
110
Les tableaux
Fonctions de tri
●
Tri selon les valeurs
– La fonction sort() effectue un tri sur les valeurs des éléments d’un tableau selon un
critère alphanumérique :selon les codes ASCII :
« a » est après « Z » et « 10 » est avant « 9 »)
Le tableau initial est modifié et non récupérables dans son ordre original
Pour les tableaux associatifs les clés seront perdues et remplacées par un indice créé après le
tri et commencant à 0
– La fonction rsort() effectue la même action mais en ordre inverse des codes ASCII.
– La fonction asort() trie également les valeurs selon le critère des codes ASCII, mais en
préservant les clés pour les tableaux associatifs
– La fonction arsort() la même action mais en ordre inverse des codes ASCII
– la fonction natcasesort() effectue un tri dans l’ordre alphabétique non ASCII (« a » est
avant « Z » et « 10 » est après « 9 »)
111
Les tableaux
●
Fonctions de tri
– Tri sur les clés
●
La fonction ksort() trie les clés du tableau selon le critère des codes
ASCII, et préserve les associations clé /valeur
●
La fonction krsort() effectue la même action mais en ordre inverse des codes
ASCII
<?php
$tab2 = array ("1622"=>"Molière","1802"=>"Hugo","1920"=>"Vian") ;
ksort ($tab2);
echo "<h3 > Tri sur les clés de \$tab2 </h3>" ;
foreach ($tab2 as $cle=>$valeur) {
echo "<b> l’élément a pour clé : $clé; et pour valeur : $ cvaleur
</b> <br />";
}
?>
112
Les tableaux
113
Chaînes de caractères
●
Principe
– Peuvent être constituées de n'importe quel caractère alphanumérique et de ponctuation, y compris les
caractères spéciaux
\tLa nouvelle monnaie unique, l' €uro, est enfin là...\n\r
– Une chaîne de caractères doit être toujours entourée par des guillemets simples (')ou doubles (")
" Ceci est une chaîne de caractères valide."
'Ceci est une chaîne de caractères valide.'
"Ceci est une chaîne de caractères invalide.'
– Des caractères spéciaux à insérer directement dans le texte, permettent de créer directement certains effets
comme des césures de lignes
Car Code ASCII Code hex Description
\car échappe un caractère spécifique.
"" 32 0x20 un espace simple.
\t 9 0x09 tabulation horizontale
\n 13 0x0D nouvelle ligne
\r 10 0x0A retour à chariot
\0 0 0x00 caractère NUL
\v 11 0x0B tabulation verticale
114
Chaînes de caractères
●
Quelques fonctions de manipulation
chaîne_result = addCSlashes(chaîne, liste_caractères);
ajoute des slashs dans une chaîne
chaîne_result = addSlashes(chaîne);
ajoute un slash devant tous les caractères spéciaux.
chaîne_result = chop(chaîne);
supprime les espaces blancs en fin de chaîne.
caractère = chr(nombre);
retourne un caractère en mode ASCII
chaîne_result = crypt(chaîne [, chaîne_code])
code une chaîne avec une base de codage.
echo expression_chaîne;
affiche à l'écran une ou plusieurs chaînes de caractères.
$tableau = explode(délimiteur, chaîne);
scinde une chaîne en fragments à l'aide d'un délimiteur et retourne un tableau.
115
Transmission des données
116
Transmission des données
117
Les bases du langage PHP
script.php?nom1=val1&nom2=val2&nom3=val3
http://monsite.com/monscript.php?nom=preira&prenom=jm
118
Les bases du langage PHP
119
Fonctions de base PHP
120
Fonctions de base PHP
header("Location:
http://www.php.net/");
/* Redirige le client vers le site PHP */
header() Envoie un en-tête HTTP.
exit();
/* Garantit que le code ci-dessous
n'est jamais exécuté. */
121
Fonctions de base PHP
122
Variables prédéfinies
Variable Description
VARIABLES DE SERVEUR
Le nom du fichier du script en cour d'éxécution, par rapport
$_SERVER['PHP_SELF']
au document root.
VARIABLES HTTP
Tableau associatif des valeurs passées au script courant via le
$_GET[‘string’]
protocole HTTP et la méthode GET
Tableau associatif des valeurs passées au script courant via le
$_POST[‘string’]
protocole HTTP et la méthode POST
VARIABLES DE SESSION
Tableau associatif des valeurs stockées dans les sessions, et
$_SESSION[‘string’]
accessible au script courant
123
Développement Web
124
Sommaire
● MySQL
● Interfaçage avec une base de données
● Connexion à MySQL
● Sélection de la base de données
● Exécution de la requête SQL
● Exploitation des données
● Autres fonctions
125
MySQL : Le Système de Gestion de
Base de Données
● Une base de données (BDD) est un ensemble
d’informations structurées, cohérentes et non
redondantes.
● Un Système de Gestion de Base de Données
(SGBD) assure de façon adaptée, la gestion de la
BDD et l’accès à ses informations
● Le langage SQL (Structured Query Language) est un
langage normalisé d’interrogation de bases de
données
126
Le modèle relationnel
● Une base de données relationnelle est constituée
de tables (ou relations) qui satisfont certains
critères du modèle relationnel défini par Codd au
début des années 70.
– Une table est un ensemble constitué d’éléments
appelés enregistrements (ou tuples).
● Chaque enregistrement est constitué de champs (ou attributs)
prenant leurs valeurs dans un domaine spécifique.
● L’identifiant (ou clé primaire) d’une table est le champ
permettant d’identifier de manière unique chaque
enregistrement de la table.
127
Table « eleves »
CHAMPS
ENREGISTREMENT
IDENTIFIANTS
128
Commandes SQL de base
● SELECT (extraction de données)
● INSERT (Ajout d’un nouvel
enregistrement)
● UPDATE (modification de données)
● DELETE (suppression d’un enregistrement)
129
Exemples de requêtes SQL
130
SELECT nom FROM eleves
131
SELECT prenoms, nom FROM eleves
WHERE classe=‘6 ème B’
132
Syntaxe
● SELECT
133
Syntaxe
● INSERT
Insertion étendue:
INSERT INTO relation (liste des attributs)
VALUES (liste des valeurs)
Insertion standard:
INSERT INTO relation VALUES(liste
exhaustive et ordonnée des valeurs)
134
Syntaxe
● UPDATE
135
Syntaxe
● DELETE
136
Liens utiles
● http://cyberzoide.developpez.com
● http://dev.nexen.net/docs/
● http://www.mysql.com
137
Interfaçage avec une base de données
●
Principe
– PHP propose de nombreux outils permettant de travailler avec la plupart des SGBDR
●
Oracle, Sybase, Microsoft SQL Server, PostgreSQL ou encore MySQL
– Lorsqu'une base de données n'est pas directement supportée par Php, il est possible
d'utiliser un driver ODBC (pilote standard) pour communiquer avec les bases de données
– Php fournit un grand choix de fonctions permettant de manipuler les bases de données.
●
Quatre fonctions sont essentielles:
– La fonction de connexion au serveur
– La fonction de choix de la base de données
– La fonction de requête (exécution)
– La fonction de déconnexion
138
Interfaçage avec une base de données
●
Principe
– Avec le SGBD MySQL, ces fonctions sont :
● mysql_connect
● mysql_select_db
● mysql_query
● mysql_close
139
Connexion à MySQL
mysql_connect()
/*adresse du serveur: adresse IP ou le nom de la Hote (localhost=serveur local).*/
$server="localhost";
/*nom de l'utilisateur ayant droit sur la bdd, ici c'est l'administrateur général root*/
$user="root";
//mot de passe de cet utilisateur
$pwd="";
// connexion au serveur MYSQL
$conn=mysql_connect ($server, $user, $pwd);
140
Sélection de la base de données
mysql_select_db ()
141
Exécution de la requête SQL
mysql_query()
142
Exploitation des données
mysql_fetch_row()
/*Retourne une ligne de résultat sous la forme d'un tableau. Chaque élément du
tableau étant la valeur d'un champ.*/
While($ligne=mysql_fetch_row($execution)) {
//tant qu'il y a des lignes de résultat
echo "$ligne[0]<br>"; //valeur du 1er champ
echo $ligne[1]; //valeur du 2e champ
echo"<br>";
}
143
Exploitation des données
mysql_fetch_array()
mysql_fetch_assoc()
/*Retourne une ligne de résultat sous la forme d'un tableau associatif.*/
While($ligne=mysql_fetch_array($execution)) {
//tant qu'il y a des lignes de résultat
echo "$ligne['chp1']<br>";//valeur attribut chp1
echo $ligne['chp2']; //valeur attribut chp2
echo"<br>";
}
144
Exploitation des données
mysql_fetch_object()
/*Retourne une ligne sous forme d' objet dont les attributs sont les noms des
champs*/
While($ligne=mysql_fetch_object($execution)) {
//tant qu'il y a des lignes de résultat
echo "$ligne->chp1 <br>";//valeur attribut chp1
echo $ligne->chp2; //valeur de attribut chp2
echo"<br>";
}
145
Autres fonctions
Autres fonctions
Retourne le nombre de ligne
$nb=mysql_num_rows($execution);
d'un résultat
147