Sunteți pe pagina 1din 63

15:04:47 Programmation Web 2012-2013 1

Programmation Web :
PHP
Jrme CUTRONA
jerome.cutrona@univ-reims.fr
2 15:04:47 Programmation Web 2012-2013
PHP: Langage de script pour le Web
Quest-ce que PHP ?
Langage de script. Utilis cot serveur
Acronyme rcursif : PHP: Hypertext Preprocessor
Cr en 1994-1995 par Rasmus Lerdorf
Extension utilise sur certains serveurs Web (33%)
Langage multi plate-forme (UNIX / Windows)
Open Source
Versions actuelles (source nexen.net) :
PHP4 (52% en octobre 2008)
PHP5 (48% en octobre 2008)
3 15:04:47 Programmation Web 2012-2013
Utilit et utilisation de PHP
Cration de pages HTML dynamiques ,
fabriques la vole, construite la demande
Interface entre un serveur Web et des bases de
donnes
Cration dapplications Web
4 15:04:47 Programmation Web 2012-2013
Principales fonctionnalits de PHP
Manipulation de chanes et tableaux
Calendrier / dates / heures
Fonctions mathmatiques
Accs au systme de fichiers
Manipulation dimages
HTTP / FTP / IMAP
Bases de donnes (Oracle, MySQL, )
XML

5 15:04:47 Programmation Web 2012-2013
Rseau
Fonctionnement de PHP
Serveur
Serveur Web
MySQL
Module PHP
.html
.php
.jpg
Client
Navigateur
HTML
JavaScript
CSS
<?php
echo <<<HTML
<html>
<head>
<title>Hello</title>
</head>
<body>Hello world</body>
</html>
HTML;
GET /hello.php HTTP/1.0
Excution dun programme sur le serveur
<html>
<head>
<title>Hello</title>
</head>
<body>Hello world</body>
</html>
Protocole HTTP
hello.php
Connexion sur le serveur (port 80) Requte HTTP du client (hello.php) Localisation de la ressource Localisation du code PHP dans le fichier Excution du code PHP Envoi du rsultat au client
= rponse HTTP
Fermeture de la connexion Rendu graphique des donnes
6 15:04:47 Programmation Web 2012-2013
Fonctionnement de PHP
Client Serveur
1. Connexion TCP sur le serveur (port 80)
2. Requte HTTP du client (mon_fichier.php)
3. Localisation de la ressource
4. Excution du code PHP
5. Envoi du rsultat de lexcution au client
= rponse HTTP
6. Fermeture de la connexion
7. Rendu graphique des donnes (HTML, image, )
7 15:04:47 Programmation Web 2012-2013
Programme en PHP
Dlimitation du code PHP dans le fichier .php :
<?php Code PHP ?>
<script language="PHP">
Code PHP
</script>
<? Code PHP ?>
<% Code PHP %>
Dpend de la configuration
du serveur
bannir !!
short_open_tag
asp_tags
Confusion avec JavaScript
bannir !!
Fermeture optionnelle
8 15:04:47 Programmation Web 2012-2013
Elments de syntaxe PHP
La syntaxe de PHP ressemble celle de famille
"C" (C, C++, Java, )
Chaque instruction se termine par ";"
Commentaires:
/* jusquau prochain */
// jusqu la fin de la ligne
# jusqu la fin de la ligne
9 15:04:47 Programmation Web 2012-2013
Les variables et les types de donnes
Tout identificateur commence par "$"
Les affectations sont ralises grce "="
Numrique entier: 12 ou rel: 1.54
Chane: "Hello" ou Bonjour
Boolen: true, false (PHP 4)
Tableau: $tab[2]=12
Objet (PHP4, PHP5)
Ressource
NULL
Le type dune variable est dynamique et est
dtermin par la valeur qui lui est affecte
10 15:04:47 Programmation Web 2012-2013
Typage faible. Exemple
// Pas de dclaration de variable
$test = 1.5 ; // Rel
$test = 12 ; // Entier
$test = array() ; // Tableau
$test = "10" ; // Chane
echo $test ; // 10
11 15:04:47 Programmation Web 2012-2013
Typage automatique. Exemple
$nombre1 = 1.5 ; // Rel
$nombre2 = 12 ; // Entier
$chaine1 = "10" ; // Chane
$chaine2 = 'coucou' ; // Chane
$total =
$nombre1 + $nombre2 + $chaine1 + $chaine2 ;
echo $total ; // 23.5 Rel
13.5
23.5
23.5
12 1.5 "10" 'coucou'
10
0
12 15:04:47 Programmation Web 2012-2013
Les chanes de caractres
Substitution de variables dans les chanes
Guillemets simples
$a='chane' ;
$b='voici une $a';
Guillemets doubles
$a="chane" ;
$b="voici une $a";
Syntaxe HereDoc
$a="chane" ;
$b=<<<MARQUE_DE_FIN
voici une $a
sur deux lignes ;-)
MARQUE_DE_FIN;
chane
voici une $a
chane
voici une chane
chane
voici une chane
sur deux lignes ;-)
13 15:04:47 Programmation Web 2012-2013
Concatnation de chanes
Permet dassembler plusieurs chanes
Ralis grce loprateur point : .
"Bonjour " . "Marcel"
vaut "Bonjour Marcel"
$nb = 6*2 ;
"Acheter " . $nb . " oeufs"
vaut "Acheter 12 oeufs"
14 15:04:47 Programmation Web 2012-2013
La commande echo
Permet denvoyer du texte au navigateur du
client ( crire la page au format HTML
rsultant de linterprtation de PHP)
echo "Bonjour" ;
$nom="Marcel" ; echo "Bonjour $nom" ;
Plus gnralement, permet denvoyer des octets
au navigateur du client
Ficher HTML, XML, CSS, JavaScript,
Donnes d'une image
Contenu d'un ficher PDF, Flash, etc.
15 15:04:47 Programmation Web 2012-2013
Hello world !
<?php
$debut = <<<HTML
<html>
<head>
<title>hello</title>
</head>
<body>\n
HTML;
$corps = "Hello world!\n";
$fin = <<<HTML
</body>
</html>
HTML;
/* Envoi au client */
echo $debut.$corps.$fin ;
<html>
<head>
<title>hello</title>
</head>
<body>
Hello world!
</body>
</html>
Serveur Navigateur
Impossible de voir le code PHP depuis le navigateur !!
Interprtation du code PHP sur le serveur
et transmission du rsultat au client
16 15:04:47 Programmation Web 2012-2013
Les oprateurs arithmtiques
$a + $b Somme
$a - $b Diffrence
$a * $b Multiplication
$a / $b Division
$a % $b Modulo (Reste de la division entire)
17 15:04:47 Programmation Web 2012-2013
Les oprateurs din- et de
d-crmentation pr- et post-fixs
$a++
Retourne la valeur de $a puis augmente la
valeur de $a de 1
++$a
Augmente la valeur de $a de 1 puis
retourne la nouvelle valeur de $a
$a--
Retourne la valeur de $a puis diminue la
valeur de $a de 1
--$a
Diminue la valeur de $a de 1 puis retourne
la nouvelle valeur de $a
18 15:04:47 Programmation Web 2012-2013
Les oprateurs de comparaison
$a == $b
Vrai si galit entre les valeurs de $a et $b
$a != $b
Vrai si diffrence entre les valeurs de $a et $b
$a < $b
Vrai si $a infrieur $b
$a > $b
Vrai si $a suprieur $b
$a <= $b
Vrai si $a infrieur ou gal $b
$a >= $b
Vrai si $a suprieur ou gal $b
$a === $b
Vrai si $a et $b identiques (valeur et type)
$a !== $b
Vrai si $a et $b diffrents (valeur ou type)
19 15:04:47 Programmation Web 2012-2013
Les oprateurs logiques
[Expr1] and [Expr2]
Vrai si [Expr1] et [Expr2] sont vraies
[Expr1] && [Expr2]
idem
[Expr1] or [Expr2]
Vrai si [Expr1] ou [Expr2] sont vraies
[Expr1] || [Expr2]
idem
[Expr1] xor [Expr2]
Vrai si [Expr1] ou [Expr2] sont vraies
mais pas les deux
! [Expr1]
Vrai si [Expr1] est non vraie
20 15:04:47 Programmation Web 2012-2013
Les oprateurs sur bits
$a & $b
ET binaire
$a | $b
OU binaire
$a ^ $b
XOR binaire
~ $a
Inversion bit bit
$a << $b
$a dcal gauche de $b rangs
$a >> $b
$a dcal droite de $b rangs
21 15:04:47 Programmation Web 2012-2013
Prcdence des oprateurs
Oprateurs
new
[
++ --
! ~ - (int) (float) (string) (array) (object) @
* / %
+ - .
<< >>
< <= > >=
== != === !==
&
22 15:04:47 Programmation Web 2012-2013
Prcdence des oprateurs
Oprateurs
^
|
&&
||
? :
= += -= *= /= .= %= &= |= ^= <<= >>=
and
xor
or
En cas de doute,
utilisez les parenthses ;-)
23 15:04:47 Programmation Web 2012-2013
Structure de contrle SiAlorsSinon
if (condition)
{
/* Bloc dinstructions excut si la
condition est vraie */
}
[else
{
/* Bloc dinstructions excut si la
condition est fausse */
}]
24 15:04:47 Programmation Web 2012-2013
Structure de contrle Tant que faire
while (condition)
{
/* Bloc dinstructions rpt tant que la
condition est vraie */
}
do {
/* Bloc dinstructions excut une fois
puis rpt tant que la condition est
vraie */
} while (condition) ;
25 15:04:47 Programmation Web 2012-2013
Structure de contrle Tant que faire
for(avant; condition; fin_chaque_itration)
{ /* Bloc dinstructions rpt tant que la
condition est vraie */
}
quivalent :
avant ;
while (condition)
{ /* Bloc dinstructions rpt tant que la
condition est vraie */
fin_chaque_itration ;
}
26 15:04:47 Programmation Web 2012-2013
Structure de contrle switch
switch (val)
{
case v1:
instructions excutes si val==v1
case v2:
instructions excutes si val==v2
ou si val==v1

default:
instructions dans tous les cas
}
27 15:04:47 Programmation Web 2012-2013
Linstruction break
Permet de sortir dune structure de contrle
switch (val)
{
case v1:
instructions excutes si val==v1
break ; /* On sort du switch si val==v1 */
case v2:
instructions excutes si val==v2
ou si val==v1
break ; /* On sort du switch si val==v2 */

default:
instructions excutes dans tous les cas
si val!=v1 et val!=v2
}
28 15:04:47 Programmation Web 2012-2013
Les tableaux
Cration / initialisation:
$tab1=array(12, "fraise", 2.5) ;
$tab2[] = 12 ;
$tab2[] = "fraise" ;
$tab2[] = 2.5 ;
$tab3[0] = 12 ;
$tab3[1] = "fraise" ;
$tab3[2] = 2.5 ;
Cl Valeur
0 12
1 "fraise"
2 2.5
29 15:04:47 Programmation Web 2012-2013
Les tableaux trous
Les lments du tableaux ne sont pas forcement
dindices conscutifs :
$tab4[0] = 12 ;
$tab4[1] = "fraise" ;
$tab4[2] = 2.5 ;
$tab4[5] = "el5" ;
Comment parcourir de tels tableaux ?
Cl Valeur
0 12
1 "fraise"
2 2.5
3
4
5 "el5"
30 15:04:47 Programmation Web 2012-2013
Les tableaux trous (suite)
Parcours classique :
for ($i=0; $i < sizeof($tab4); $i++)
{ echo "tab4[$i]: "
. $tab4[$i] . "<BR>\n";
}
?
Cl Valeur
0 12
1 "fraise"
2 2.5
3
4
5 "el5"
4
31 15:04:47 Programmation Web 2012-2013
Structure de contrle Pour chaque
foreach ($tableau as $element)
{
/* Bloc dinstructions rpt pour
chaque lment de $tableau */
/* Chaque lment de $tableau est
accessible grce $element */
}
32 15:04:47 Programmation Web 2012-2013
Parcours de tableau : foreach

$tab4[0] = 12 ;
$tab4[1] = "fraise" ;
$tab4[2] = 2.5 ;
$tab4[5] = "el5" ;
foreach($tab4 as $v)
{
echo "Val: $v<br>\n";
}

Val:12<br>\n
Val:fraise<br>\n
Val:2.5<br>\n
Val:el5<br>\n

PHP HTML
Navigateur
33 15:04:48 Programmation Web 2012-2013
Tableaux associatifs
Tableaux dont laccs aux lments nest plus
ralis grce un index (0,1,) mais grce
une cl de type entier ou chane.
Exemples de cls:
$tab['un'] = 12 ;
$tab[205] = "bonjour" ;
$tab["la valeur"] = 3.0 ;
Cration
$tab = array(cle1 => val1,
cle2 => val2,
);
34 15:04:48 Programmation Web 2012-2013
Tableaux associatifs - Exemples
$tab5['un'] = 12 ;
$tab5['trois'] = "fraise" ;
$tab5["deux"] = 2.5 ;
$tab5[42] = "el5" ;
$tab6 = array('un' => 12,
'trois' => "fraise",
"deux" => 2.5,
42 => "el5") ;
Cl Valeur
"un" 12
"trois" "fraise"
"deux" 2.5
42 "el5"
35 15:04:48 Programmation Web 2012-2013
Structure de contrle Pour chaque
foreach($tableau as $cle => $element)
{
/* Bloc dinstructions rpt pour
chaque lment de $tableau */
/* Chaque lment de $tableau est
accessible grce $element */
/* La cl daccs chaque lment est
donne par $cle */
}
36 15:04:48 Programmation Web 2012-2013
Parcours de tableau
<?php
$html = <<<HTML
<html>
<head><title>foreach cl</title>
</head>
<body>
HTML;
$tab6 = array('un' => 12,
'deux' => "fraise",
"trois" => 2.5,
"quatre" => "el5") ;
foreach ($tab6 as $cle => $val)
{
$html .= "tab[$cle]: $val<br>\n" ;
}
echo $html . "</body>\n</html>" ;
37 15:04:48 Programmation Web 2012-2013
Exemple de gnration de code HTML
<?php
$html = <<<HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01
Transitional//EN">
<html>
<head>
<meta http-equiv="Content-Type"
content="text/html; charset=iso-8859-1">
<title>Boucle</title>
</head>
<body>
HTML;
for ($i=1; $i<20; $i++) {
$html .= "Le serveur compte... "
. $i . "<br>\n" ;
}
$html .= <<<HTML
</body>
</html>
HTML;
echo $html ;
38 15:04:48 Programmation Web 2012-2013
Traitement des donnes de formulaires
PHP permet de traiter les donnes saisies grce
un formulaire HTML si le champ ACTION du
formulaire dsigne une page PHP du serveur.
Aprs rcupration par le serveur Web, les
donnes sont contenues dans l'une des
variables superglobales de type tableau
associatif $_GET ou $_POST (ou $_REQUEST).
La valeur peut tre trouve grce une cl qui
porte le mme nom que le champs du formulaire
de la page HTML de saisie.
39 15:04:48 Programmation Web 2012-2013
Rseau
Traitement des donnes de formulaires
Serveur
Serveur Web
Module PHP
Client
Navigateur
HTML
JavaScript
CSS
<html>
<head>
<title>bonjour</title>
</head>
<body>
Bonjour robert !
</body>
</html>
<?php
$html = <<<HTML
<html>
<head><title>bonjour</title></head>
<body>
HTML;
$html .= "Bonjour ".$_GET['nomPers']." !\n" ;
echo $html . "</body>\n</html>" ;
nomPers=robert
robert
nomPers
40 15:04:48 Programmation Web 2012-2013
Exemple Formulaire HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>formulaire</title>
</head>
<body>
<form action="valide1.php" method="get">
Nom: <input type="text" name="nomPers">
<input type="submit" value="Envoyer">
</form>
</body>
</html>
41 15:04:48 Programmation Web 2012-2013
Exemple Traitement en PHP
<?php
$html = <<<HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Validation</title>
</head>
<body>
HTML;
if (isset($_GET['nomPers']))
{
if (!empty($_GET['nomPers']))
{
$html .= "Vous avez saisi '"
.$_GET['nomPers']."'\n" ;
}
else
$html .= "Aucune valeur saisie\n";
}
else
$html .= "Utilisation incorrecte\n" ;
echo $html . "</body>\n</html>" ;
$_GET['nomPers']
est-il dfini ?
$_GET['nomPers']
est-il vide ?
42 15:04:48 Programmation Web 2012-2013
Formulaires contenant des champs
SELECT
43 15:04:48 Programmation Web 2012-2013
Formulaires contenant des champs
SELECT unique
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Formulaire de saisie des fruits</title>
</head>
<body>
<form action="valide3.php" method="get">
Choisissez des fruits:&nbsp;
<select name="sel">
<option>Fraise
<option>Pomme
<option>Poire
<option>Banane
<option>Cerise
</select>
<input type="submit" value="envoyer">
</form>
</body>
</html>
valide3.php?sel=Pomme
Envoyer
44 15:04:48 Programmation Web 2012-2013
Formulaires contenant des champs
SELECT multiple
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Formulaire de saisie des fruits</title>
</head>
<body>
<form action="valide3.php" method="get">
Choisissez des fruits:&nbsp;
<select name="sel" multiple>
<option>Fraise
<option>Pomme
<option>Poire
<option>Banane
<option>Cerise
</select>
<input type="submit" value="envoyer">
</form>
</body>
</html>
valide3.php?sel=Pomme&sel=Poire
Envoyer
???
45 15:04:48 Programmation Web 2012-2013
Formulaires contenant des champs
SELECT multiple
<html>
<head>
<title>Formulaire de saisie des fruits</title>
</head>
<body>
<form action="valide3.php" method="get">
Choisissez des fruits:&nbsp;
<select name="sel[]" multiple>
<option>Fraise
<option>Pomme
<option>Poire
<option>Banane
<option>Cerise
</select>
<input type="submit" value="envoyer">
</form>
</body>
</html>
valide3.php?sel[]=Pomme&sel[]=Poire
Envoyer
valide3.php?sel%5B%5D=Pomme&sel%5B%5D=Poire
46 15:04:48 Programmation Web 2012-2013
Traitement des donnes des champs
SELECT
<?php
$html = <<<HTML
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Liste de fruits</title>
</head>
<body>
HTML;
if (isset($_GET['sel']) && !empty($_GET['sel']))
{/* La variable $_GET['sel'] est dfinie
et elle n'est pas vide */
foreach($_GET['sel'] as $fruit)
$html .= "Vous avez choisi $fruit<br>\n" ;
}
else
$html .= "Vous n'avez pas choisi de fruit\n" ;
echo $html . "</body>\n</html>" ;
$_GET[sel']
est un tableau
47 15:04:48 Programmation Web 2012-2013
Rsultat
48 15:04:48 Programmation Web 2012-2013
Formulaires contenant des champs
CHECKBOX
49 15:04:48 Programmation Web 2012-2013
Formulaires contenant des champs
CHECKBOX
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Formulaire de saisie des fruits</title>
</head>
<body>
<form name="formu" action="valide3.php" method="get">
Choisissez des fruits&nbsp;:<br>
<input type="checkbox" name="sel[]" value="Fraise">Fraise<br>
<input type="checkbox" name="sel[]" value="Pomme" >Pomme <br>
<input type="checkbox" name="sel[]" value="Poire" >Poire <br>
<input type="checkbox" name="sel[]" value="Banane">Banane<br>
<input type="checkbox" name="sel[]" value="Cerise">Cerise<br>
<input type="submit" value="Envoyer">
</form>
</body>
</html>
50 15:04:48 Programmation Web 2012-2013
Rsultat
51 15:04:48 Programmation Web 2012-2013
Rfrences
$a = 12 ;
$b = $a ;
$c = &$a ;
$b = "coucou" ;
$c = 84 ;
echo "\$a : $a\n" ;
echo "\$b : $b\n" ;
echo "\$c : $c\n" ;
unset($c) ;
$c = "hello" ;
$a
$b
$c
12
12
12
"coucou"
84
$a : 84
$b : coucou
$c : 84
"hello"
52 15:04:48 Programmation Web 2012-2013
Fonctions utilisateur
Description dune fonctionnalit dpendant
ventuellement de paramtres et retournant
ventuellement un rsultat
Dfinition
function moyenne($a,$b)
{
return ($a+$b)/2. ;
}
Utilisation
$resultat = moyenne(2,4) ;
echo $resultat ; // vaut 3
53 15:04:48 Programmation Web 2012-2013
Fonctions utilisateur
Valeur de retour
function moyenne($a,$b)
{ }
Arguments
function moyenne( $a, $b)
{ }
Typage faible de PHP :
Aucune information
Typage faible de PHP :
Aucune information
Typage faible de PHP :
Aucune information
54 15:04:48 Programmation Web 2012-2013
Mode de passage des arguments (types natifs)
<?php
function permutation($x, $y) {
echo "permutation..." ;
$t = $x ;
$x = $y ;
$y = $t ;
}
$a = 12 ;
$b = 210 ;
echo "\$a = $a" ;
echo "\$b = $b" ;
permutation($a, $b) ;
echo "\$a = $a" ;
echo "\$b = $b" ;
?>
$a = 12
$b = 210
permutation...
$a = 12
$b = 210
Permutation impossible :
Passage des arguments
des fonctions par valeur
55 15:04:48 Programmation Web 2012-2013
Mode de passage des arguments (types natifs)
<?php
function permutation(&$x, &$y) {
echo "permutation..." ;
$t = $x ;
$x = $y ;
$y = $t ;
}
$a = 12 ;
$b = 210 ;
echo "\$a = $a" ;
echo "\$b = $b" ;
permutation($a, $b) ;
echo "\$a = $a" ;
echo "\$b = $b" ;
?>
$a = 12
$b = 210
permutation...
$a = 210
$b = 12
Permutation
russie
56 15:04:48 Programmation Web 2012-2013
Arguments par dfaut des fonctions
Valeur par dfaut dun argument sil na pas t
dfini lors de lappel de la fonction
function bonjour($nom="inconnu")
{ echo "Bonjour cher $nom" ; }
Utilisation
bonjour() ;
bonjour("Marcel") ;
Bonjour cher inconnu
Bonjour cher Marcel
57 15:04:48 Programmation Web 2012-2013
Dfinition de fonctions frquemment utilises
Certaines fonctions sont utilises dans plusieurs
scripts PHP
Comment faire pour ne pas les dfinir dans
chacune des pages ?
Utilisation de :
include("fichier") ;
require("fichier") ;
include_once("fichier") ;
require_once("fichier") ;
Permet dinclure le contenu de fichier dans
le script courant
58 15:04:48 Programmation Web 2012-2013
include et require
Fichier mafonction.php
<?
function mafonction($arg)
{
if (isset($arg))
{
echo ("Vrai") ;
}
else
{
echo ("Faux") ;
}
}
?>
Fichier utilisation1.php

require("mafonction.php")
mafonction(true) ;

Fichier utilisation2.php

include("mafonction.php")

$var=false ;
mafonction($var) ;

Fichier utilisation3.php

require("mafonction.php")

59 15:04:48 Programmation Web 2012-2013


Dfinition de constantes
<?php
define("ma_constante", "Bonjour tous") ;
echo ma_constante ;
?>
Dfinition d'une constante
Utilisation de la constante
nom valeur
60 15:04:48 Programmation Web 2012-2013
Gestion des erreurs
Dans certains cas, il nest ni possible ni utile de
poursuivre lexcution du code PHP (variables
non dfinies, valeurs errones, chec de
connexion, )
Arrt brutal de lexcution du code:
die(message)
exit(message)
Envoie message au navigateur et termine
lexcution du script courant
61 15:04:48 Programmation Web 2012-2013
Gestion des erreurs (Mauvais) Exemple
<?php
$html = <<<HTML
<html>
<head>
<title>die-exit</title>
</head>
<body>
HTML;
if (!isset($val)) {
die($html."problme val") ;
/* Au del de ce point,
fin du script */
}
$html .= <<<HTML
Choix: $val
</body>
</html>
<html>
<head>
<title>die-exit</title>
</head>
<body>
problme val
PHP HTML
Navigateur
problme val
HTML non valide
62 15:04:48 Programmation Web 2012-2013
php.ini
Gestion de l'affichage des erreurs
int error_reporting ( [int level] )
Constante
E_ERROR
E_WARNING
E_PARSE
E_NOTICE
E_CORE_ERROR
E_CORE_WARNING
E_COMPILE_ERROR
E_COMPILE_WARNING
E_USER_ERROR
E_USER_WARNING
E_USER_NOTICE
E_ALL
E_STRICT
Ancien niveau d'erreur
Sur un serveur en
production, toute
erreur affiche
donne des indices sur
les scripts et rend le
site vulnrable
display_errors boolean
D

b
o
g
a
g
e
63 15:04:48 Programmation Web 2012-2013
Oprateur de contrle d'erreur
$v = file("dummy.txt")
or die("Problme de lecture") ;
Warning: file(dummy.txt): failed to open
stream: No such file or directory in
dummy.php on line 68
Problme de lecture
Problme de lecture
$v = @file("dummy.txt")
or die("Problme de lecture") ;
Fichier absent

S-ar putea să vă placă și