Académique Documents
Professionnel Documents
Culture Documents
Langage de Programmation 3 (PHP) Edition 2022
Langage de Programmation 3 (PHP) Edition 2022
COURS DE LANGAGE
DE
PROGRAMMATION 3 (PHP)
A l’usage des étudiants de troisième année graduat en
informatique de gestion et des passionnés de la programmation.
Edition
entièrement revue
Avril 2022
BIBLIOGRAPHIE
a) Ouvrages
[1] David Bosman, créez votre site web : Apprenez HTML et CSS, Ed.
Compétence micro, 2006.
[2] Eric D. et Cyril P., PHP 5 avancé, 4è édition, Ed. Eyrolles, Paris, 2007.
[3] Johann-Christian Hanke, Les mystères de PHP & MySQL, Ed.
Compétence Micro, 2006.
[4] Philippe Rigaux, pratique de MySQL et PHP 4ème édition, Ed. Dunod,
2008.
b) Notes de cours
[1] IVINZA LEPAPA A.C & BIMA LEMINDE G., Support de Cours de
Projet de programmation 3, G3-INFO, USK-Kin, 2020-2021.
BIBLIOGRAPHIE...........................................................................................................3
TABLE DES MATIERES...............................................................................................4
AVERTISSEMENTS......................................................................................................8
INTRODUCTION...........................................................................................................9
2. METHODES EXPLOITEES............................................................................11
3. STRATEGIES D’EVALUATION...................................................................11
PREMIER CHAPITRE : GENREALITES SUR LE LANGAGE PHP........................12
I.1 Présentation du langage PHP................................................................................12
I.2 Historique du langage PHP..................................................................................13
I.3 Principes du langage PHP....................................................................................14
I.4. Positionnement face aux autres langages............................................................14
DEUXIEME CHAPITRE : ELEMENTS DE LA SYNTAXE DU LANGAGE PHP. .18
II.1 Commentaires et séparateur d’instructions.........................................................18
II.1.1 Commentaires..............................................................................................18
II.1.2 Séparateur d’instructions..............................................................................19
II.2 Variables.............................................................................................................19
II.2.1 Booléen, entier, réel et null..........................................................................20
Booléen (bool)...........................................................................................................20
Entiers (int)................................................................................................................20
Nombre en virgule flottante (float)...........................................................................20
Execution.......................................................................................................................21
II.2.2 Chaîne de caractères (string)........................................................................21
Entre quotes simple...................................................................................................21
Entre guillemets doubles...........................................................................................22
Exécution...................................................................................................................24
Différentes opérations sur les chaînes.......................................................................24
II.2.4 Portée des variables......................................................................................26
Exécution...................................................................................................................26
Exécution...................................................................................................................27
Exemple.....................................................................................................................27
2. Variable globale.....................................................................................................28
II.3 Constantes...........................................................................................................28
Exécution...................................................................................................................29
II.4 Tableaux..............................................................................................................29
Exemple.....................................................................................................................30
Exécution...................................................................................................................30
Exemple.....................................................................................................................30
Exécution...................................................................................................................31
Exemple.....................................................................................................................31
Exécution...................................................................................................................32
Tableau associatif......................................................................................................32
Exemple.....................................................................................................................32
Exécution...................................................................................................................33
Exemple de fonctions sur tableaux............................................................................33
II.5 Inclusion des bibliothèques ou des fichiers.........................................................33
II.6 Opérateurs...........................................................................................................34
II.6.1 Opérateur d’affectation................................................................................35
II.6.2 Opérateurs arithmétiques.............................................................................35
1) Expressions arithmétiques.....................................................................................36
II.6.3 Opérateurs logiques......................................................................................36
II.6.4 Opérateurs de comparaison..........................................................................36
II.6.5 Opérateurs d’incrémentation et de décrémentation......................................37
II.6.6 Opérateurs de Concaténation de string........................................................39
Exemple14.................................................................................................................39
Exécution...................................................................................................................40
II.6.7 Opérateurs combinés....................................................................................41
II.6.8 Opérateurs sur les bits..................................................................................42
II.6.9 Priorités entre opérateurs..............................................................................43
II.7 Fonctions.............................................................................................................43
AVERTISSEMENTS
Ce support de cours est soumis aux droits d’auteur et n’appartient donc pas au
domaine public. Sa reproduction est cependant autorisée à condition de
respecter les conditions suivantes :
Cependant, dans le seul cas d’un enseignement gratuit, une participation aux
frais de reproduction pourra être demandée, mais elle ne pourra être
supérieure au prix du papier et de l’encre composant le document.
INTRODUCTION
Le personnel qui doit prester dans les services délocalisés tout comme dans
les directions mères de ces firmes est obligé d’échanger des informations en
temps réel, question de gagner du temps et ainsi favoriser l’atteinte des
objectifs de ces firmes dans des conditions adéquates.
L’internet étant le seul canal par lequel il faut transiter pour échanger en
temps réel les informations, les informaticiens de ce jour sont obligés de
maitriser les langages de programmation orientés client-serveur afin de rester
utiles à la société en dépit du développement rapide des technologies de
l’information et de la communication.
Dans le cadre de ce cours, notre dévolu a été jeté sur le langage PHP (Pré
HyperText Processor) qui est un langage de scripts orienté serveur. Ce
1. OBJECTIFS DU COURS
a) Objectif général
Ce cours a pour objectif principal, d’initier les étudiants informaticiens à la
programmation client-serveur avec le langage PHP.
b) Objectifs spécifiques
Bref, ce cours permet aux étudiants informaticiens de rester à jour dans leur
domaine en dépit de l’évolution sans cesse croissante des Technologies de
l’information et de la Communication. Il prend appui sur l’enseignement des
cours ci-après : algorithme, langage HTML & CSS, langage C et en
constituent une base.
2. METHODES EXPLOITEES
3. STRATEGIES D’EVALUATION
1. Une partie des points (25%) sera attribuée aux projets que les étudiants
réaliseront sur base des thèmes qui seront proposés. Ces projets seront
hébergés dans un serveur web distant et défendu à la fin du cours.
2. La deuxième partie des points (25%) sera attribuée à une interrogation
écrite.
3. La troisième partie des points (50%) sera attribuée à un examen oral.
Chaque étudiant reçoit deux grandes questions recouvrant les six parties du
cours. Les questions de précision permettent à l’étudiant d’augmenter sa
côte.
C’est un langage peu typé et souple et donc facile à apprendre par un débutant
mais, de ce fait, des failles de sécurité peuvent rapidement apparaitre dans les
applications.
Son utilisation commence avec le traitement des formulaires puis par l’accès
aux bases de données. L’accès aux bases de données est aisé une fois
l’installation des modules correspondant effectuée sur le serveur.
C’est un langage de script exécuté par le serveur Web (comme les CGI, ASP,
JSP, PYTHON...) contrairement au JavaScript ou aux applets Java qui
s’exécutent directement sur le navigateur client. La syntaxe et l’esprit du
langage PHP s’inscrivent dans la lignée du langage C.
Le langage PHP utilise une syntaxe très simple car elle reste très proche du
C, langage maitrisé par la plupart des développeurs. A l’heure actuelle les «
concurrents » de PHP sont :
Dans la barre des tâches, cliquer avec le bouton droit de la souris sur
l’icône de gestion EasyPHP, cliquer ensuite sur administration ;
Le menu administration s’affiche en proposant.
• L’ajout de répertoire de pages web proposées par le
serveur Apache ;
• La gestion du SGBD MySQL ;
• Ect.
Enregistrer les scripts sur un répertoire racine de site web :
• Par défaut, ils sont à mettre dans : C:\Program files\
EasyPHP1-7\www ;
• Cree un répertoire mon site puis y déposer les scripts ;
Avant d’utiliser du PHP, il faut dans un premier temps s’assurer que votre
hébergeur supporte celui-ci et renommer l’extension du document HTML
en .php ou .php3 ou .php4. Il existe plusieurs façons d’intégrer du code PHP
à l’intérieur d’un document HTML :
<script langage="PHP">
<!-
echo ("premier exemple PHP") ;
//-->
</Script>
Exemple (Exemple1.php)
<!DOCTYPE html>
<html >
<head >
<title>Exemple1</title>
<meta charset=”utf-8”/>
</head >
<body>
<p>
<?php
echo" Hello word ! <br/> Bonjour monde !";
?>
</p>
</body>
</html >
À l’exécution, on a:
Nota : Le code PHP est exécuté sur le serveur ; En visualisant le code source
du fichier dans le navigateur, on n’obtient que du HTML :
<!DOCTYPE html>
<html >
<head >
<title>Exemple1</title>
<meta charset=”utf-8”/>
</head >
<body>
<p>
Hello word ! <br> bonjour monde!
</p>
</body>
</html>
II.1.1 Commentaires
Les commentaires peuvent être utilisés pour cacher des parties du code à
utiliser uniquement pour certaines situations ou que l’on met de côté pendant
qu’on travaille sur quelque chose qui pourrait provoquer un conflit. Ils
peuvent aussi aider à rappeler ce qu’on était en train de faire lorsqu’on
reprend un projet après avoir travaillé sur un autre ou quand on revient de
congé.
En langage PHP, les instructions sont séparées par des points-virgules, tout
en sachant que tout script commence par la balise <?php pour se terminer
avec la balise ?>
II.2 Variables
Une variable est le conteneur d’une valeur d’un des types utilisés par PHP
(entiers, flottants, chaînes de caractères, tableaux, booléens, objets, ressource
ou NULL). Chaque variable possède un identifiant particulier, qui commence
toujours par le caractère dollar ($) suivi du nom de la variable.
Une variable n’ayant jamais été déclarée possède pour valeur la chaîne vide :
" ". Le langage PHP supporte 7 types de base suivants :
• Booléen ;
• Entier
• Réel ;
• Chaîne de caractères ;
• Tableau ;
• Object ;
• Resource ou nul.
Remarque : l’utilisateur peut forcer une variable à prendre un certain type, il
doit alors transtyper (cast) ou utiliser la fonction settype().
Booléen (bool)
Les entiers sont les nombres du type 1, 2, 3, 4, etc. On compte aussi parmi
eux les nombres relatifs : -1,-2, -3...
$a= 1.23;
$a= 1.23 e3 ;
Exemple (Exemple2.php)
<html>
<head>
</head>
<body>
<p>
<?php
$a=3; echo"\$a=$a<br/>";
$a=3.3; echo"\$a=$a<br/>"; $a="3a";
echo"\$a=$a<br/>"; echo"\$b=<br/>";
?>
</p>
</body>
</html >
Execution
Les chaînes de caractères sont des noms informatiques qu'on donne au texte.
Tout texte est appelé chaîne de caractères. En PHP, ce type de données a un
nom : string. On peut stocker des textes courts comme très longs au besoin.
'Je suis un texte'. Les deux fonctionnent mais il y a une petite différence que
l'on va découvrir plus loin.
Entre quotes simple
Pour insérer il faut le faire précéder de / ainsi les variables présentes dans ces
chaînes ne seront pas remplacées par leurs valeurs.
Exemple
‘ je vous dis : "c/’ est un exemple de chaine"’
Entre guillemets doubles
Les variables qui s’y trouvent seront remplacées par leurs valeurs : $va,
{$var}, et ${var}, les séquences suivantes vont être comprises par PHP :
• /n Nouvelle ligne
• /r Retour à la ligne
• /t Tabulation horizontal
• // Anti slash
• /$ Caractère
• /" Guillemets doubles
Exemple (Exemple3.php)
<html>
<head>
</head>
<body>
<script language="php">
$texte="Bonjour les informaticiens de l'ISC";
$a=3; print"Un texte:
$texte<br/>"; print"Un
chiffre: $a";
</script>
</body>
</html>
Exécution
<!DOCTYPE html>
<html>
<head>
</head>
<body>
<?php $a="abc"; echo"entre guillemets: $a<br/>";
echo'entre quotes: $a<br/>'; echo"combinaison de
'quotes' guillemets<br/>" ; echo'combinaison de
"quotes" guillemets<br/>'; echo'j\'ai dit<br/>';
echo"j\"ai dit<br/>";
Exécution
Chr (num) : retourne une chaine d’un seul caractère, dont le code
ASCII est égal à l’entier num ;
Trim (chaine) : supprime les caractères invisibles dans une chaine de
caractères ;
Nl2br (chaine) : insère <br> devant tous les caractères de fin de ligne
de la chaine en PHP 4 ;
html_entity_décode (chaîne) : PHP4! Convertit toutes les entités
HTML de la chaine en caractère normaux ;
%s chaîne de caractères
%x int en hexa Ect.
Ect.
Exemple (Exemple9.php)
<script language="php">
function test()
{ print
"$a";
}
$a = 3 ;
test()
</script>
Exécution
Exemple (Exemple10.php)
<script language="php">
function test()
{
global $a; print"$a";
}
$a =3;
Test()
</script>
Exécution
1. Variables statiques
Exemple
< ?php
function test() {
Static $Nb_appel = 0;
echo $Nb_appel++;
} ?>
2. Variable globale
Les variables globales peuvent être utilisées dans une fonction à l’aide :
II.3 Constantes
Chaîne de caractère ;
Entier ;
Double ;
Booléen.
Valeur_cste);
Et pour l’affichage :
Exemple (Exemple11.php)
<?php
Define("PI",
3.1416); Define
("BR","<BR>");
echo BR;
?>
Exécution
II.4 Tableaux
Les tableaux représentent un type composé car ils permettent de stocker sous
un même nom de variable plusieurs valeurs indépendantes d’un des types de
base que vous venez de voir. C’est comme un tiroir divisé en compartiments.
Chaque compartiment, que nous nommerons un élément du tableau, est
repéré par un indice numérique (le premier ayant par défaut la valeur 0 et non
1). D’où l’expression de tableau indicé ; chaque élément peut aussi être
identifié par une étiquette, qui est une chaîne de caractères ou une variable de
type string, nommée clé, associée à l’élément du tableau. Ce type de tableau
est appelé tableau associatif. Les éléments de ces tableaux peuvent être de
type integer, double, boolean, string ou même array, ce qui permet de créer
des tableaux de tableaux, c’est-àdire des tableaux multidimensionnels, ce que
PHP ne permet pas explicitement, contrairement à d’autres langages.
<?Php
//creation d’un tableau simple
$tab=array(12, 15, 2, 1, 8, 24, 35, 5,2) ;
//Accéder à un élément
echo $tab[0]."<BR >";
echo $tab[1]."<BR >";
?>
Exécution
Fonction print_r
Elle permet d’afficher une variable, quel que soit son type.
Exemple
<?php
//création d’un tableau simple
$tab=array(12,15,2,1,8,24,35,5,2) ; //
Accéder à un élément
print_r($tab); ?>
Exécution
Exemple
<?php
//création d’un tableau simple
$tab=array (12,15,2,1,8,24,35,5,2) ;
$tab[]="99" ;
//Accéder à un élément
print_r($tab);
?>
Exécution
Tableau associatif
Exemple
<?php
//création d’un tableau simple
$tab1=array ("a"=>12,"b"=>15,"c"=> 2,"d"=>1);
$tab2=array (0=>1,1
=>45,2=>4); //Accéder à un
élément
echo $tab1["a"]."<BR >";
echo $tab1["c"]."<BR >";
echo $tab2[1]."<BR >";
?>
Exécution
?>
A l’exécution, on a :
II.6 Opérateurs
Les opérateurs sont des symboles ou signes utilisés entre deux termes
(nombres, variables, constantes) pour effectuer une opération. Ils ont des
priorités de priorité et d’associativité. Quand plusieurs opérateurs agissent
sur le même élément (ou opérande), la priorité des opérateurs détermine
lequel agit en premier. Quand plusieurs opérateurs ont la même priorité, les
règles d’associativité s’appliquent.
L’opérateur d’affectation utilisé par le langage PHP est le signe égal, nous
l’avons aperçu dans les exemples précédents. La variable se place avant le
symbole égal (=) et la valeur est spécifiée après.
<?php
// Assignement de valeurs à des variables
$nom = 'SOLE';
// Ici $nom prend la valeur SOLE
$age = 20 ;
?>
<?php
$a = 9 ;
$b = 4 ;
$resultat = $a + $b;
echo $resultat; // Affiche 13
?>
Nota : la valeur stockée dans la variable $resultat est le résultat obtenu par
l’addition des valeurs des variables $a et $b.
1) Expressions arithmétiques
Exemple (Exemple12.php)
<?php
$i=2;
$j=6;
$x=5.2;
echo'Expression($x+$i)%$j:';
echo ($x+$i)%$j;
echo"<br>";
?>
II.6.3 Opérateurs logiques
Exemple :
<?php
$a = 9;
$b = 5;
// $a == $b renverra 0 (faux)
// $a != $b renverra 1 (vrai)
// $a < $b renverra 0 (faux)
?>
II.6.5 Opérateurs d’incrémentation et de décrémentation
Exemple :
<?php
$i = 1 ;
$i = $i+1; // Est équivalent à :
$i++;
$i = $i–1; // Est équivalent à :
$i- -;
?>
Nota : Ces opérateurs peuvent figurer devant ou derrière la variable :
• ++$a : la variable est incrémentée puis évaluée
(pré incrémentation),
• $a++ : la variable est évaluée puis incrémentée (post incrémentation).
?>
Exécution
Exemple14
<?php
$ident="Monsieur";
echo"Bonjour"," ",$ident,"<br>";
echo"Bonjour"."".$ident."<br>";
?>
Exécution
Exemple 15
<?php $c="abc";
$a=1; echo $c.
$c."<br>";
echo($a+2).
$c."<br>";
echo'$a'."abc".'<br>';
?>
Exécution
Exemple :
<?php
$a = 10;
$b = 7;
$a *= 5;
Echo $a ; // $a est égal à 50
$b += $a;
Nota : Les opérateurs bit à bit permettent de traiter les nombres entiers sous
la forme de séries de bits. Ces séries de bits représentent le nombre en
question.
Exemple :
<?php
$un = 1 ; // S’écrit 1 en binaire
$deux = 2 ; // S’écrit 10 en binaire
$trois = $un | $deux ; // S’écrit 11 en binaire
$quatre = $deux << $un ; // S’écrit 100 en binaire
?>
II.7 Fonctions
Instructions ;
Exemple function
somme ($a,$b)
Print"$a+$b";
Exemple
<?php
echo"variable non declare isset :";
echo isset($b); echo'<br>';
$b=NULL;
echo"variable NULL isset:";
echo isset($b); echo"<br>"; $b=13;
echo"variable a la valeur $b isset:";
echo isset($b);
echo"<br>"; Unset($b);
echo"apres unset(\$b) isset:";
echo isset($b);
echo"<br>";
?>
Exécution
Exemple
<?php
$a=3; echo"valeur $a type : ";
echo gettype($a);
echo"<br>"; $a=3.3;
echo"valeur $a type : ";
echo gettype($a);
echo"<br>"; $a="3a";
echo"valeur $a type : ";
echo gettype($a);
echo"<br>"; $a=TRUE ;
echo"valeur TRUE type : ";
echo gettype($a);
echo"<br>"; $b=NULL ;
echo"sans valeur type : ";
echo gettype($b);
echo"<br>";
?>
Exécution
A cet effet, les structures de contrôle peuvent se présenter sous deux aspects,
à savoir :
if (condition)
{
instructions
}
Exemple : Accorder une prime de 500$ à tous les agents de sexe masculin.
<?php
$sexe = "M";
if($sexe =="M")
{
echo 'Vous avez droit à une prime de 500$';
exit();
// La fonction exit() arrête l’exécution du script
}
?>
Exemple : Accorder une prime de 500$ aux agents de sexe masculin et 250$
aux agents de sexe féminin.
<?php
$sexe = 'M'; if($sexe == 'M')
{ echo 'Votre prime est de 500$';
}else{
echo 'Votre prime est de 250$';
}
?>
3. La structure imbriquée
if (condition1)
{
Instructions si la condition1 est
vérifiée.
}elseif (condition2){
Instructions si la condition2 est
vérifiée.
}elseif(condition3){
Instructions si la condition3 est
vérifiée.
}else{
Instructions si les conditions ne sont pas
vérifiées.
}
Exemple :
<?php
$nombre = 2 ;
if($nombre>1){
echo "$nombre est supérieur à 1";
} elseif ($nombre < 1) {
echo "$nombre est inférieur à 1";
} else {
echo "$nombre est égal à 1";
// Ici on sait que $nombre est égal à 1 car s’il n’est ni
supérieur, ni inférieur à 1 c’est qu’il est égal à 1.
}
?>
▪ Instruction switch
Cette instruction permet de faire plusieurs tests sur la valeur d’une variable,
ce qui évite de faire plusieurs if imbriqués et simplifie ainsi la lecture du
code.
Exemple :
<?php
$nombre = mt_rand(0,4);
switch ($nombre)
{
case4:
echo "$nombre est supérieur à 3 <br>";
case 3:
echo "$nombre est supérieur à 2 <br>";
case 2:
echo "$nombre est supérieur à 1 <br>";
case 1: echo "$nombre est supérieur à 0
<br>"; break ;
default:
echo "$nombre est 0 <br>";
}
?>
Nota : Les parenthèses qui suivent le mot-clé switch() indiquent une
expression dont la valeur est testée successivement par chacun des « case ».
Lorsque la valeur correspond à un « case », la suite d’instructions est
exécutée jusqu’à la fin du switch ou l’apparition d’un break. Si aucune
correspondance n’est trouvée, alors le code est exécuté à partir du mot-clé
default.
1. Boucle while
Exemple
2. Boucle do – while
Do{
<code à exécuter>
$cpt =0;
do {
echo "Graduat informatique";
$cpt++;
}
while ($cpt <= 10);
?>
Nota: La différence principale entre les deux boucles est que la boucle do– while
s’exécute toujours au moins une fois, alors que la boucle while ne s’exécute pas si
la condition initiale n’est pas remplie.
3. Boucle for
La boucle for est la plus puissante des constructions de boucles. Voici la
syntaxe :
for(<initialisation> ;<condition booléenne> ;<itération>){
<code à exécuter>
La boucle for est constituée de trois parties : une expression d’initialisation, une
expression conditionnelle booléenne et une expression d’itération. La troisième
expression met généralement à jour la variable de la boucle initialisée par la
première expression. Voici la boucle for équivalente à la boucle while
précédente :
Exemple:
<?php
for ($cpt=0;$cpt<10; $cpt++)
{
echo "Graduat informatique";
}
?>
4. Boucle foreach
Exemple :
<?php
$tab=array(
'prenom' => 'Christella' ,
'ville' => 'Bandundu',
'travail' => 'informatique'
);
foreach ($tab as $element) {
echo "Valeur: $element<br>\n";
}
foreach ($tab as $cle => $valeur) {
echo "$cle : $valeur<br>\n";
}
?>
Exécution :
1. Instruction break
2. Instruction continue
L’instruction continue permet d’ignorer le reste de la boucle et de reprendre
l’exécution à l’itération suivante de la boucle.
Exemple :
<?php
for($x=0 ; $x<10 ; $x++){
if($x==5)
continue ; // revient au début de la boucle avec $x=6
echo "Graduat informatique" ;
}
?>
• POST ;
• GET (envoie de paramètres visibles)
L’attribut action précise l’URL demandée par la requête http.
Exemple : http://html.net/page.php?id=1254
Exemple: Ecrire un script PHP qui invite l’utilisateur à saisir les informations
suivantes: son nom, son prénom, sa classe respective et son sexe. En sortie
que, le script soit à même de renvoyer toutes les informations renseignées au
formulaire, précédé d’un message de bienveillance.
<html>
<head>
<title>menu principal</title>
<meta charset="iso-8859-1">
</head>
<body bgcolor="#01247F" bordercolor="">
<form method="get" action="saisie.php">
<h2 align="center"><font color="red" face="time new
roman"><u>Menu saisie</u><br/></font></h2>
<hr/>
<table>
<tr>
<td align="left"><b>votre nom</b></td>
<td><input name="nom"></td>
</tr>
<tr>
<td align="left"><b>votre prénom</b></td>
<td><input name="prenom"></td>
</tr>
<tr>
<td align="left" ><b>votre classe</b></td>
<td><input name="classe"></td>
</tr>
<tr>
<td name="left"><b>sexe</b></td>
<td>
<input name="sexe" type="radio" value="Monsieur" checked>Monsieur
<input name="sexe" type="radio" value="Madame">Madame
</td >
</tr>
<tr>
<td align="center" colspan="2"><input type="submit" value="
envoyer"></td>
</tr>
</table>
</form>
</body>
</html>
Résultat après exécution
<?php
$nom=$_GET['nom'];
$prenom=$_GET['prenom'];
$classe=$_GET['classe']; $sexe=$_GET['sexe'];
?>
Exemple :
<html>
<head>
<title>Méthode post</title></head>
<body>
<form method="post" action="pass.php">
Login:<input type="text" name="login"><br/>
Password:<input type="Password" name="pass"><br/>
<input type="submit" value="Identifier"/></form>
</body>
</htm>
Résultat après exécution du fichier (pass.html)
<?php
$login=$_POST['login'];
$pass=$_POST['pass'];
if($pass=="Bims2022")
echo"Bonjour $login !";
else
echo"Accès non autorisé";
?>
Résultat après envoi de la requête (avec mot de passe correcte)
$fichier=fopen("fichier","paramètre");
r Lecture uniquement, on commence au début du fichier
r+ Lecture et écriture, on commence au début du fichier
w Ecriture uniquement. Si le fichier existe déjà, le contenu actuel sera
alors supprimé. S’il n’existe pas, on essaiera de le créer
w+ Lecture et écriture, sinon comme w
a Ecriture uniquement. On commence à la fin du fichier (a pour append,
ajouter). S’il n’existe pas, on essaiera de le créer
a+ Lecture et écriture, sinon comme a
Tableau n° II.9.4.1: Paramètres utilisés dans fopen()
Le contenu des données est à présent lu, ligne après ligne, jusqu’à ce que la
fin du fichier soit atteinte :
while(!feof($fichier)){
$ligne=fgets($fichier,1000);
echo $lignes ;}
feof($fichier) Est vrai dès que la fin du fichier a été atteinte
Une fois que le fichier texte a été lu en mémoire avec les intructions PHP
fopen et fread, une fonction permet de convertir son contenu en tableau,
explode. Chaque fois qu’elle rencontre, cette fonction crée un nouvel
élément de tableau. Une fonction rand() génère alors un nombre aléatoire
afin de choisir un élément de ce tableau.
Pour que cette application fonctionne, il vous faut introduire une série de
citations dans un fichier appelé citations.txt et situé dans le même répertoire
que la page.php. Le code de cette page, appelée citations.php, est le suivant :
<!DOCTYPE html>
<html>
<head>
<title>Citation du jour</title>
<meta charset="iso-8859-1"/>
<style>
body
{
background-color:#ccffff;
font-family:Arial;
}
h1
{
background-color:#666666;
color:yellow;
text-align:center;
}
</style>
</head>
<body>
<h1>Citation du jour</h1>
<?php
$lecture=fopen("citations.txt","r");
$citations=fread($lecture, filesize("citations.txt"));
$tableau=explode(":",$citations);
$nb_citations=count($tableau)-1;
$index=rand(0,$nb_citations);
$texte=$tableau[$index];
fclose($lecture);
?>
<tr><td align="center"><b><marquee
behavior="alternate"><?php echo $texte ?></marquee></b></td>
</tr>
</table>
</body>
</html>
Résultat après exécution
try
{
//Code à surveiller
if(erreur prévue){throw new Exception();}
else{// Résultat;}
}
catch(Exception $except)
{
//Gestion de l'erreur
}
Le nom de l’objet utilisé dans l’instruction catch est sans importance. Un
même script peut comporter autant de bloc try…catch que possible. Il est
également possible d’imbriquer des blocs try les uns dans les autres, à
condition que chacun ait un bloc catch associé.
<?php
$a=100;
$b=0;
try
{
Les concepteurs de PHP 5 ont dû effectuer une refonte totale du modèle objet
très sommaire de PHP 4 pour le rendre plus proche de celui de Java. Sans
devenir un langage de POO à part entière, PHP 5 fournit néanmoins
désormais les outils nécessaires à ceux qui souhaitent choisir cette
orientation. La manipulation d’objets n’est pas une obligation dans la plupart
des cas mais pourrait devenir une nécessité pour de gros projets.
IV.3 Objets
Chaque objet a des attributs qui lui sont propres. Mon compte en banque a un
attribut qui définit le numéro de compte, un autre qui définit le solde actuel,
un troisième qui est une liste des différentes opérations, et ainsi de suite. Les
attributs peuvent être vus comme les caractéristiques propres de l’objet.
Les objets peuvent avoir des méthodes. Il s’agit des actions qu’on peut
appliquer à un objet. Toujours en prenant mon objet de compte en banque, il
existe une méthode pour le solder, une pour ajouter une écriture, une pour le
déplacer dans une autre banque, etc.
V.5 CLASSE
Une classe est un modèle de données. On peut la voir comme une famille
d’objets. Tous les objets d’une même classe sont similaires. Ils partagent les
mêmes attributs et méthodes.
On peut ainsi imaginer une classe représentant les voitures. Toutes les
voitures (tous les objets de la classe voiture) ont des plaques
d’immatriculation, un moteur avec une certaine puissance et un nombre de
portières identifiables (ils ont des attributs communs).
Tous les objets de cette classe ont aussi des méthodes pour démarrer, freiner,
accélérer, tourner, etc.
Nous venons de voir qu’une classe était un type d’objet. Une instance est une
représentation particulière d’une classe.
Pour donner un exemple, Mégane est une classe et une instance de cette
classe pourrait être la voiture que vous venez d’acheter, qui est bleue et sans
options. Une autre instance de la classe Mégane pourrait être la voiture rouge
garée en bas de chez vous. En revanche, il faut faire attention au fait qu’il
peut y avoir plusieurs instances ayant les mêmes propriétés sans qu’elles
soient identiques. Par exemple, si quelqu’un d’autre achète la même voiture
que vous, une Mégane bleue sans options, il s’agira d’une autre instance de
la même classe.
Le mot-clé class permet de définir une nouvelle classe. Il doit être suivi du
nom de la classe et d’un bloc entre accolades. Entre ces accolades pourront
être insérés les attributs de la classe et les définitions des méthodes, ou
encore des commentaires. L’exemple suivant définit une classe voiture :
class voiture {
// Contenu de la classe
Attributs
Dans un premier temps, nous utiliserons le mot-clé public pour déclarer les
attributs de la classe. La description et la signification des différents mots-
clés sont données plus loin, à la section « Sûreté de programmation ».
Il est possible de définir une valeur par défaut avec la même syntaxe qu’une
affectation.
<?php
class voiture {
?>
Méthodes
class voiture {
public $marque ; f
?>
Constantes
<?php
class TondeuseGazon
{ const TRACTEE = 1 ;
const AUTOPORTEE = 2
; const POUSSEE = 4 ;
public $type ;
?>
Pour pouvoir utiliser un objet, il faut d’abord le créer à partir d’un modèle (la
classe). On utilise la syntaxe d’affectation avec le mot-clé new. L’exemple
suivant crée un objet de la
classe voiture :
<?php
// Déclaration de la classe class voiture
{ public $marque ;
function freiner( $force_de_freinage ) {
// Instructions pour faire freiner
}
}
// Instanciation d’un objet
$mavoiture = new voiture() ;
?>
Une fois qu’un objet a été instancié, on peut commencer à utiliser ses
attributs et ses méthodes. Les attributs s’utilisent comme des variables
classiques. On accède à un attribut grâce à l’opérateur flèche (->). L’exemple
suivant accède à l’attribut $solde d’un objet de type
CompteEnBanque ;
<?php
class CompteEnBanque
{ public $solde = 0;
}
$mon_compte = new CompteEnBanque() ;
echo 'Le solde de mon compte est : ';
echo $mon_compte->solde, '<br>' ; // Affiche 0
$mon_compte->solde = 6000 ;
echo 'Maintenant le solde de mon compte est : ';
echo $mon_compte->solde, '<br>' ; // Affiche 6000
?>
<?php
class voiture {
function klaxonne() {
?>
Il est souvent utile de pouvoir faire référence à l’objet en cours dans une
méthode. C’est par exemple le cas pour accéder à un attribut ou lancer une
autre méthode. La méta variable $this est une référence permanente vers
l’objet courant. On parle de méta variable car ce n’est pas à vous de la
définir, ce sera fait automatiquement par PHP à l’exécution de chaque
méthode.
<?php
class voiture {
public $vitesse = 0;
}
}
À tout moment, dans une méthode, vous pouvez faire appel aux
métaconstantes __CLASS__ et __METHOD__. Elles vous retourneront les
noms de la classe et de la méthode en cours d’exécution.
<?php
class voiture {
public $vitesse ;
'<br>' ;
$ma_voiture->avance( 2 );
?>
Constructeurs et destructeurs
1. Constructeur
Si une méthode porte le nom __construct() (n’oubliez pas les deux traits de
soulignements avant le nom), elle servira de constructeur. Il est possible de
fournir des paramètres au constructeur en les ajoutant entre parenthèses dans
l’instanciation. L’exemple suivant nous montre comment on peut initialiser
un objet en donnant des paramètres à son constructeur.
<?php
class voiture {
public $vitesse = 0;
public $marque;
public $annee;
public $modele;
// Définition du constructeur
function __construct($marque,$modele,$annee) {
$this->marque = $marque;
$this->annee = $annee;
$this->modele = $modele;
function affiche( ) {
$ma_voiture->affiche();
?>
Si votre classe est une classe dérivée et si le constructeur y est redéfini, seul
le constructeur de la classe fille sera appelé. PHP n’appelle pas implicitement
le constructeur parent, c’est à vous de le faire. Vous pouvez vous reporter à
la section sur l’héritage pour plus de détails sur la redéfinition de méthodes et
l’appel de la méthode de la classe parente.
2. Destructeur
De même que pour le constructeur, si votre classe est une classe dérivée et si
le destructeur y est redéfini, le destructeur de la classe parente ne sera pas
appelé implicitement par PHP. C’est à vous de le faire explicitement.
function __destruct() {
function __destruct() {
parent::__destruct() ;
// Affiche
?>
La notion d’héritage
Pour le langage PHP, une classe ne peut hériter que d’une seule classe.
L’héritage multiple est interdit et il est impossible de dire par exemple que la
classe des écharpes en laine hérite de la classe des écharpes et de la classe
des vêtements en laine, simultanément.
<?php class
vehicule_a_moteur{
}
}
?>
Si un attribut est redéfini, c’est sa dernière définition qui est utilisée pour
déterminer la valeur par défaut de l’objet de la classe fille :
<?php class
vehicule_a_moteur {
public $nombre_roues = 2 ;
}
class voiture extends vehicule_a_moteur {
public $nombre_roues = 4 ;
echo $berline->nombre_roues ;
// Affiche 4
?>
Si une méthode est redéfinie, c’est sa dernière définition qui est utilisée:
function nombre_de_roues()
{ echo 2 ;
{ function nombre_de_roues() {
echo 4 ;
$berline->nombre_de_roues() ;
// Affiche 4
?>
2. Héritage strict
voiture hérite de la classe véhicule, toute instance de voiture doit pouvoir être
manipulée comme un véhicule générique, en ignorant les particularités de la
classe fille. Toute méthode redéfinie doit être compatible avec la méthode
précédente. Pour revenir sur notre exemple de voiture, bien qu’elle accepte
une vitesse dans sa méthode avance(), elle doit aussi accepter cette même
instruction sans paramètre, comme n’importe quel véhicule.
On dit que les méthodes de la classe fille doivent avoir des prototypes
compatibles avec ceux de la classe mère. Il est possible d’ajouter des
paramètres supplémentaires, à condition qu’ils soient facultatifs. Il est aussi
possible de rendre facultatifs des paramètres en leur donnant une valeur par
défaut.
Seuls les constructeurs ne sont pas soumis à cette règle car la notion de
constructeur générique n’a pas vraiment de sens.
Cet héritage strict est une contrainte importante qui n’existait pas en PHP 4.
Un message d’erreur de niveau E_STRICT sera envoyé pour chaque
infraction. Si vous ne souhaitez pas vous confiner dans un héritage strict, il
vous suffira de les ignorer (ce qui est probablement le cas par défaut). Vous
pourrez trouver plus de renseignements sur ce que sont les messages
E_STRICT dans le chapitre 19 sur la gestion des erreurs.
Si une méthode est redéfinie dans la classe fille, il peut être utile de
volontairement appeler la méthode de la classe parente. Il suffit alors
d’utiliser une notation statique (voir plus loin pour plus de détails sur ce
qu’est un appel statique et comment l’utiliser) avec le mot-clé parent. La
syntaxe parent::xxx() permet d’accéder à la méthode xxx de la classe mère.
C’est par exemple le cas si on ne veut que faire un ajout. Il suffit alors dans
notre méthode de faire notre ajout puis appeler la méthode parente qui fera le
gros du travail.
<?php class
vehicule_a_moteur
{ function avancer() {
}
class voiture extends vehicule_a_moteur
; parent::avancer() ;
}
}
$maVoiture->avancer() ;
?>
4. Sûreté de programmation
Il est important toutefois de noter que ces nouvelles fonctionnalités sont tout
à fait optionnelles. Vous pouvez, si vous le souhaitez, utiliser les objets PHP
5 de la même façon que les objets PHP 4 (si ce n’est le fait qu’ils sont
désormais passés par référence).
5. Contrôle d’accès
Le contrôle d’accès est une fonctionnalité qui permet de filtrer les accès aux
attributs et aux méthodes.
Accès public
Une méthode (ou attribut) publique est accessible depuis toute votre
application. C’est le cas par défaut, et le comportement dans PHP 4. Vous
pouvez toutefois le préciser explicitement en utilisant le mot-clé public
devant les attributs et méthodes dans la déclaration de la classe.
class vehicule_a_moteur {
var $marque ; // Affichage PHP4
function avancer() {
echo "J'avance \n" ;
}
}
e
t
<?php class vehicule_a_moteur
{ public $vitesse ; // Affichage
PHP5 public function avancer() {
echo "J'avance \n" ;
}
}
?>
Accès privé
Une méthode (ou attribut) en accès privé n’est utilisable qu’à l’intérieur
même de la classe. Il est interdit d’y faire appel à partir de l’extérieur. Le
mot-clé à utiliser est private.
<?php
class vehicule_a_moteur {
private $vitesse = 30 ;
$maVoiture->avancer() ;
?>
echo $maVoiture->vitesse ;
Accès protégé
Un accès protégé est une solution intermédiaire entre un accès privé et un
accès public. Il est toujours interdit de faire appel à une méthode ou à un
attribut protégé depuis l’extérieur de l’objet, mais la méthode (ou l’attribut)
est utilisable par les classes dérivées.
class vehicule_a_moteur
{ protected $vitesse = 30 ;
private $roues = 4 ;
$maVoiture->avancer() ;
$maVoiture->nombreRoues() ;
Pour y accéder à partir d’un navigateur, il vous suffit de saisir les adresses
suivantes :
En local : http://localhost/mysql
(http://localhost/phpmyadmin)
ou
http://127.0.0.1/mysql (http://127.0.0.1/phpmyadmin)
a. Introduction
Une table est composée de colonnes, ou champs. Chacune de ces colonnes
est dotée d’un type particulier, censé correspondre le mieux possible à
l’information qu’elle contient. Avant de créer une table, il importe de
connaître les différents types de données proposées par MySQL. Le choix
judicieux de ce type réduit l’espace disque utilisé. Cette partie du cours
présente les différents types de données reconnus par MySQL ainsi que les
commandes SQL utilisables pour créer les tables.
Nota : Tous les types de données des champs peuvent être complétés par les
paramètres suivants :
Les types de dates et d’heures permettent de stocker des dates dans des
formats différents, allant de la simple année seule à l’ensemble date complète
plus heure complète à la seconde près. Pour stocker un timestamp UNIS, il
est préférable d’utiliser une colonne de type entier INT (10), qui facilite les
opérations.
En résumé : Pour créer une table, par exemple la table client, procédez de la
manière suivante :
Vous pouvez créer de la même façon les autres tables de la base magasin en
prenant soin de respecter les définitions données précédemment.
a. Introduction
Une fois les tables créées, différents moyens permettent d’y enregistrer les
données nécessaires au fonctionnement d’un site de web dynamique. Il existe
deux grandes catégories de données, les données statiques, qui ne dépendent
que de l’administrateur du site, comme celles de la table article, qui
constituent le contenu du magasin, et les données en provenance des
internautes clients du site, qui rempliront les autres tables. Ces dernières
informations sont obtenues à partir d’un formulaire de saisie alors que les
données statiques peuvent être enregistrées aussi bien à partir d’un
formulaire en ligne qu’à l’aide de phpMyAdmin.
Chaque donnée doit être délimitée par un caractère particulier (par défaut des
guillemets) et séparée des autres par un autre caractère (par défaut le point-
virgule).
Pour importer une liste de données dans la table, vous devriez, par exemple,
créer le fichier article.txt dont le contenu est visualisé dans le Notepad++ de
Windows est illustré à la figure 4.3.2.2.
Si le fichier est situé sur le post client, vous pouvez utiliser le bouton
parcourir pour le localiser et conserver le choix par défaut DATA LOCAL.
En cliquant sur le bouton Afficher, vous pouvez vérifier que l’insertion des
données s’est effectuée correctement et en conformité avec le fichier texte.
<?
$link=mysqlconnect("nom hôte :port", "nom utilisateur","mot de
passe") ;
?>
Nota :
<?
$nom_hote="localhost";
$nom_utilisateur="root";
$password="" ;
$base="magasin";
$connexion=mysql_connect($nom_hote,$nom_utilisateur,$pass
word) or die ('impossible de se connecter a mysql'); $db =
mysql_select_db($base, $connexion);
?>
<!DOCTYPE html>
<html>
<head><title>Base de données</title></head>
<body> <?
php
include"connexion.php";
$table=mysql_query("SELECT * FROM
client"); echo"<table border=1>"; echo"<tr>";
echo"<td>Nom</td>"; echo"<td>Prenom</td>";
echo"<td>Adresse</td>"; echo"</tr>";
while($ligne=mysql_fetch_object($table)){
echo"<tr>"; echo"<td>$ligne->nom</td>";
echo"<td>$ligne->prenom</td>";
echo"<td>$ligne->adresse</td>";
echo"<tr>";
}
?>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<title>Saisissez vos coordonnées</title>
<meta charset="iso-8859-1"/>
</head>
<body>
<form action="formulaire.php" method="post">
<fieldset>
<legend><b>Vos coordonnées</b></legend>
<table>
<tr><td>Nom:</td><td><input type="text"
name="nom" size="40" maxlength="30"/></td></tr>
<tr><td>Prenom:</td><td><input type="text"
name="prenom" size="40"
maxlength="30"/></td></tr>
<tr><td>Age:</td><td><input type="text"
name="age"
size="40" maxlength="2"/></td></tr>
<tr><td>Adresse:</td><td><input type="text"
name="adresse" size="40"
maxlength="60"/></td></tr>
<tr><td>Ville:</td><td><input type="text"
name="ville" size="40"
maxlength="40"/></td></tr>
<tr><td>Mail:</td><td><input type="text" name="mail"
size="40" maxlength="50"/></td></tr>
<tr><td><input type="submit"
value="Envoyer"/></td><td><input type="reset"
value="Effacer"/></td></tr>
</table>
</fieldset>
</form>
<?php
include"connexion.php";
if(!empty($_POST['nom'])&& !empty($_POST['adresse']) &&
!empty($_POST['ville']))
{
$id_client="\N";
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$age=$_POST['age'];
$adresse=$_POST['adresse'];
$ville=$_POST['ville'];
$mail=$_POST['mail'];
$result=mysql_query("INSERT INTO client
VALUES('$id_client','$nom','$prenom','$age','$adresse',
'$ville','$mail')");
if(!$result)
{
echo"<script type=\"text/javascript\">
alert('Erreur')</script>";
}
else
{
echo"<script type=\"text/javascript\"> alert('Vous êtes
enregistré')</script>";
}
mysql_close();
}
else
{
echo"<h3>Formulaire à completer</h3>";
}
?>
</body></html>
V.3.6 Mise à jour d’une table
Un client doit pouvoir modifier ses coordonnées, comme son adresse de livraison
ou son e-mail. L’exemple ci-dessous
(formulaire_modification.html) crée une page contenant un formulaire qui permet
la saisie du code client dans une zone de texte HTML.
<!DOCTYPE html>
<html>
<head>
<title>Modifiez vos coordonnées</title>
<meta charset="iso-8859-1"/>
</head>
<body>
<form action="modification.php" method="post">
<fieldset>
<legend><b>Saisissez votre code client pour modifier vos
coordonnées</b></legend>
<table><tbody>
<tr><td>Code client:</td>
<td><input type="text" name="id_client"
size="20" maxlength="10"/></td>
</tr>
<tr>
<td><input type="submit"
value="Modifier"/></td>
</tr></tbody>
</table>
</fieldset>
</form>
</body>
</html>
<?php
if(empty($_POST['id_client'])){header("location:modification.html"
);}
?>
<!DOCTYPE html>
<html>
<head>
<title>Modifiez vos coordonnées</title>
<meta charset="iso-8859-1"/>
</head>
<body>
<?php
include("connexion.php");
import_request_variables("P","_");
$result=mysql_query("SELECT * FROM client WHERE
id_client='$_id_client'");
$coord=mysql_fetch_row($result);
echo"<form action=\"modification.php\"
method=\"post\"
enctype=\"application/x-www-form-urlencoded\">";
echo"<fieldset>";
echo"<legend><b>Modifiez vos
coordonnées</b></legend>";
echo"<table>";
echo"<tr><td>Nom:</td><td><input
type=\"text\" name=\"nom\" size=\"40\"
maxlength=\"30\"
value=\"$coord[1]\"/></td></tr>";
echo"<tr><td>Prenom:</td><td><input
type=\"text\" name=\"prenom\" size=\"40\"
maxlength=\"30\"
value=\"$coord[2]\"/></td></tr>";
echo"<tr><td>Age:</td><td><input type=\"text\"
name=\"age\" size=\"40\" maxlength=\"2\"
value=\"$coord[3]\"/></td></tr>";
echo"<tr><td>Adresse:</td><td><input
type=\"text\" name=\"adresse\" size=\"40\"
maxlength=\"60\"
value=\"$coord[4]\"/></td></tr>";
echo"<tr><td>Ville:</td><td><input type=\"text\"
name=\"ville\" size=\"40\" maxlength=\"40\"
value=\"$coord[5]\"/></td></tr>";
echo"<tr><td>Mail:</td><td><input type=\"text\"
name=\"mail\" size=\"40\" maxlength=\"50\"
value=\"$coord[6]\"/></td></tr>";
echo"<tr><td><input type=\"submit\"
value=\"Enregistrer\"
name=\"modif\"/></td><td><input type=\"reset\"
value=\"Effacer\"/></td></tr></table>";
echo"</fieldset>";
echo"<input type=\"hidden\" name=\"id_client\"
value=\"$_id_client\"/>";
echo"</form>";
if(isset($_POST['nom'])&&isset($_POST['adresse'])&&isset
($_POST['ville']))
{
$nom=$_POST['nom'];
$adresse=$_POST['adresse'];
$ville=$_POST['ville'];
$mail=$_POST['mail'];
$age=$_POST['age'];
$code=$_POST['id_client'];
$requete=mysql_query("UPDATE client SET
nom='$nom',adresse='$adresse',ville='$ville',
mail='$ail’,age='$age' WHERE id_client='$code'");
if(!$requete)
{
echo"<script type=\"text/javascript\">
alert('Erreur')</script>";
}
else
{
echo"<script type=\"text/javascript\"> alert('Vos
modification sont enregistrés');</script>";
}
}
else
{
echo"Modifier vos coordonnées !";
}
mysql_close();
?>
</body> </html>
<!DOCTYPE html>
<html>
<head>
<title>Rechercher un article dans le magasin</title>
<meta charset="iso-8859-1"/>
</head>
<body>
<form action="recherche.php" method="post">
<fieldset>
<legend><b>Rechercher un article en
magasin</b></legend>
<table>
<tr><td>Mot clé:</td>
<td><input type="text" name="motcle" size="40"
maxlength="40"/></td>
</tr>
<tr><td>Dans la catégorie:</td>
<td><select name="categorie">
<option value="tous">Tous</option>
<option value="video">Vidéo</option>
<option
value="informatique">Informatique
</option>
<option value="photo">Photo</option>
<option value="divers">Divers</option>
</select></td></tr>
<tr><td>Trier par:</td>
<td><select name="tri">
<option value="prix">Prix</option>
<option
value="categorie">Categorie</option>
<option value="id_article">Code</option>
</select></td></tr>
<tr><td>En ordre:</td>
<td>Croissant<input type="radio" name="ordre"
value="ASC" checked="checked"/>
Décroissant<input type="radio" name="ordre"
value="DESC"/></td>
</tr>
<tr>
<td>Envoyer</td><td><input type="submit"
value="OK"/></td>
</tr>
</table>
</fieldset>
</form>
<?php
if(!empty($_POST['motcle']))
{
include("connexion.php");
$motcle=$_POST['motcle'];
$categorie=$_POST['categorie'];
$ordre=$_POST['ordre'];
$tri=$_POST['tri'];
$reqcategorie=($_POST['categorie']=="tous")?"":"AND
categorie='$categorie'";
$requete=mysql_query("SELECT id_article,designation,
prix,categorie FROM article WHERE
lower(designation)LIKE'%$motcle%'".$reqcategorie."
ORDER BY $tri $ordre");
echo"Les articles correspondant au motclé $motcle sont:";
echo"<table border=1 cellspacing=2>";
while($ligne=mysql_fetch_object($requete))
{
echo"<tr>";
echo"<th>$ligne->id_article</th>";
echo"<td>$ligne->designation</td>";
echo"<td>$ligne->prix</td>"; echo"<td>$ligne-
>categorie</td>"; echo"</tr>";
}
echo"</table>";
}
?>
</body>
</html>
IV.3.7 INDEX
<!DOCTYPE html>
<html>
<head>
<title>GESTION MAGASIN</title>
</title>
</head>
<body>
</frameset>
</frameset><noframes></noframes>
</html>
<!DOCTYPE html>
<html>
<head>
<title>GESTION MAGASIN</title>
</head>
<body bgcolor="#0066CC">
<tr>
</tr>
</table>
</body >
</html>
3. Code d’affichage du menu (menu.php)
<!DOCTYPE html>
<html>
<head>
<style>
</style>
<titre>menu principal</title>
</head>
</body >
</html>
Il importe de signaler que cette application doit permettre à l’aide d’un menu
principal, la réalisation des opérations ci-après : (saisie, modification,
suppression, édition et recherche) et doit être réalisée en PHP avec
l’utilisation de PDO (PHP Data Object) pour se connecter à la base de
données.
A. Contenu et structure
Dressez la liste de ce dont vous souhaitez parlez. Le type et la quantité de
sujets à présenter auront un impact sur la structure et aussi sur l’apparence du
site. Vous n’utiliserez pas les mêmes couleurs, ni les mêmes images, etc. On
parle de « l’architecture » d’un site web pour une bonne raison : un site est
construit comme un bâtiment, avec des pièces plus ou moins bien situées, plus
ou moins faciles d’accès et plus ou moins belles.
B. Look
Imaginez le look, l’apparence de votre site. Vous aurez beaucoup de mal à
créer quelque chose si vous ne savez pas un peu ce à quoi il doit ressembler.
Rien ne vous oblige à faire un site très graphique, d’ailleurs, mais il vaut
mieux être certain de savoir ce que vous voulez. Encore une fois, pour éviter
de tout recommencer à mi-chemin.
C. Charte graphique
Derrière cette expression sérieuse se cache une idée toute simple : pour vos
visiteurs, le site est un tout. Si sur votre page d’accueil, le menu est sur une
colonne à gauche, le visiteur est en droit de s’attendre à le trouver au même
endroit sur toutes les pages du site, et de trouver les liens affichés dans le
même ordre, de la même façon. La remarque vaut aussi pour l’apparence
graphique du site, les couleurs utilisées, le logo.
D. Dossier du travail
Pour que vos pages web soient visibles sur internet, vous devez les télécharger
sur votre serveur. Le FTP (File Transfert Protocole), ou protocole de transfert
de fichier, comme son nom l’indique, il suffira justement de faire çà. En
A. Quoi télécharger ?
Tout ce qui est utilisé dans votre site web :
• Les pages HTML ;
• Les pages PHP ;
• Les pages Javascript ;
• Les feuilles de styles CSS ;
• Les images ;
• Les sons ;
• Les vidéos ;
• Etc.
Si vous ne copiez pas les photos sur le serveur, elles ne s’afficheront pas. En
plus des fichiers, vous devez aussi télécharger les dossiers que vous avez pu
utiliser pour les organiser. Si non vos chemins d’accès ne fonctionneront plus.
B. Utilisation du FTP
A. Lancement de Dreamweaver
La barre de titre ;
La barre de menu (Fichier, Edition, Affichage, Insertion, Modifier,
Texte, Commandes, Site, Fenêtre, Aide) ;
La barre des onglets (Insertion, Commun, M. en forme, Texte,
Tableaux, Cadres, Formulaires, Modèles, Caractères, Médias, Entête,
Scripts, Application) ;
La fenêtre du document (page XHTML) ;
La barre de mise en forme ;
Espace d’organisation des pages en site.
• Code et
• Création
D. Propriétés de la page
Pour définir les différentes propriétés d’une page XHTML (Titre, Image
d’arrière-plan, couleurs, …..), cliquez sur Modifier + Propriétés de la page ou
Ctrl+J.
VI.4 Création d’un site
Pour que Dreamweaver puisse stocker les différents éléments qui composent
le site (fichiers, images, sons, etc.), vous devez créer un dossier sur votre
ordinateur :
C. Pages du site
Vous pouvez maintenant partir du fichier modele.dwt pour construire toutes
les pages de votre site web. Les figures 5.3.6 et 5.3.7 en sont une bonne
illustration. Les liens entre les pages, la création de formulaires, l’insertion
des images, etc., peuvent se faire le plus facilement possible. Il est aussi
possible de créer un fichier CSS externe.
CONCLUSION
A travers ce cours, notre souci majeur était celui de permettre aux étudiants de
troisième année graduat en informatique de gestion de rester à jour dans leur
domaine en dépit de l’évolution sans cesse croissante des technologies de
l’information et de la communication. Nous espérons que le
support de ce cours de langage de programmation PHP vous sera utile dans
votre cursus universitaire.