SlideShare une entreprise Scribd logo
1  sur  15
Télécharger pour lire hors ligne
<FORM action="commande.php">
<P>Nombre
<INPUT type="text" name="nombre_de_personnes">
<INPUT type="submit" value="commander"></P>
</FORM>
commande.php?nombre_de_personnes=4
register_globals
<?php
echo "le nombre est : $nombre_de_personnes"; ?>
$HTTP_POST_VARS $HTTP_GET_VARS
<?php
$nb = $HTTP_GET_VARS['nombre_de_personnes'];
echo "le nombre est : $nb"; ?>
! "# $_GET $_POST $_REQUEST
(register_long_arrays = On )
<?php
$nb = $_GET['nombre_de_personnes'];
echo "le nombre est : $nb"; ?>
import_request_variables
o # $ g %&'( p )*' c +
o ,$
# $ - . ! !
<?php
import_request_variables("pg", "f_") ;
echo "le nombre est : $f_nombre_de_personnes"; ?>
/ extract
<FORM action="commande.php">
<P>Vous souhaitez commander une laisse pour :<BR>
<INPUT type="checkbox" name="laisse" value="1">chien<br>
<INPUT type="checkbox" name="laisse" value="2">chat<br>
<INPUT type="checkbox" name="laisse" value="3">
crocodile<br>
<INPUT type="submit" value="commander"></P>
</FORM>
commande.php?laisse=1&laisse=2
0- - ! $_GET 1
<?php
$nb = $_GET['laisse'];
echo "valeur de laisse = $nb";
?>
valeur de laisse = 2
* 1 -
<INPUT type="checkbox" name="laisse[]" value="1">
chien<br>
<INPUT type="checkbox" name="laisse[]" value="2">chat<br>
<INPUT type="checkbox" name="laisse[]" value="3">
crocodile<br>
commande.php?laisse%5B%5D=1&laisse%5B%5D=2
<?php
echo "laisse = ", $_GET['laisse'];
?>
laisse = Array
<?php
$laisse = $HTTP_GET_VARS['laisse'];
foreach ($laisse as $val){
echo "laisse = $val<br>";
}
?>
laisse = 1
laisse = 2
2 3 #
4
- 1
# $ 3506
?idclient=21000
2 $ - $
<INPUT type="hidden" name="idclient" value="21000">
2 +
nom=valeur ! 7- - ''
+- 8 (
! - - 9 $ JJ-Mois-AAAA HH:MM:SS GMT)
! $ 9 : $ - 9 :
! 7- 8 3 -$ 8 ; ! !
Envoi du cookie par le serveur (réponse HTTP)
5 $ * "2 + 9 + : 3 " ; - '' 1
Set-Cookie: nom=valeur; expires=date; path=chemin;
domain=nom_de_domaine; secure
4 - 1
+ 8 $ -
$ $ ! 8 #- , +
$ $ 8 ! 7- +
+ ! 7-8 8 7 $$ 9 7 - :
Envoi du cookie par le client (requête HTTP)
Cookie: nom1=valeur1; nom2=valeur2 ...
Envoi de cookies au client dans un script PHP
booleen setcookie("nom", "valeur", expiration, "chemin", "domaine",
secure)
* 3 # $ $ # 63 # $ expiration $ $
3 6 + - ! 6 $ $
< , 9 - -: =
- 9 ! 3- :
6 " - snack.fr ! + 6 ( ,$ ,$
$ , 3 ! ( ,$
. 6 ( ,$ ,$
+ ! 7- 8 ; > snack.fr( ,$
! 7-
8 ; - $;$ - 8 8
! 7- +
<?php
// cookie qui expirera dans 10 minutes
setcookie("idclient","21000", time()+600, "/");
setcookie("langue", "fr");
setcookie("client[id]", "21000", time()+600, "/");
setcookie("client[langue]", "fr", time()+600, "/");
?>
Lecture des cookies envoyés par le serveur depuis un script
! register_globals=on 1 ! # --
8 +
! track_vars=on 1 $HTTP_COOKIE_VARS
"# $_COOKIE $_REQUEST
2 8 +
<?php
foreach ($HTTP_COOKIE_VARS as $cle=>$val){
if (is_array($val)){
foreach ($val as $cle2=>$val2){
echo "$cle : $cle2 = $val2<BR>";
}
}
else{
echo "$cle = $val<BR>";
}
}
?>
?
2 @ - $;$ - 8 index.php 8 - +
A
langue = fr
client : id = 21000
client : langue = fr
idclient = 21000
2 @ - - >
1
1 #
! "
,#
,8 6
4.1 Principe
8
! ! $ ! ; -- $
$ -
5 - 1 + 3 $$ B- !
$ 3 - 1 PHPSESSID
! <
4777db0b92dffd0f49219a27c59d132b
$ C 8 1
o + 9 D:
PHPSESSID=4777db0b92dffd0f49219a27c59d132b
o 506 1 - 3 ! . + A ( !
session.use_trans_sid !- E 8 3. ! ! -
8 $ ! -- $ - ! 3 enable-trans-sid
6 8 - 3506( 506 9 7
$ : ! $ # $ 3
1
?PHPSESSID=4777db0b92dffd0f49219a27c59d132b
/
6 phpinfo() $ 3 $ # 5
$ 9 3 $ - ! :( 8
! ! 9! - # : 2
! $ $$ 1
" $ 9session.name:(
" $- + # - 3
9session.save_handler:( - -(
" 3 # $ . $- + # 9session.save_path:( 3
# $ - $ @ +- (
" $- $ 3 . 9session.use_cookies:(
! off . 506 (
" $ - $ 8 3506 ! 3
9session.use_trans_sid:(
" ! - + $ - 9session.cookie_lifetime:( $
9session.cookie_domain:( $ $ 9session.cookie_path:
- -9session.cookie_secure:
4.2 Ouverture d’une session
F session_start 9 - ! -! $ !
+ :
Modifier le nom de la session et de l’identifiant
F session_name 9 # $ $ . . :
F session_id 9 # $ 3 . :
2 ! ; - ! 3 !
6 8 $ --$ -( session_name 8
$ 3 ! 3 $ $ 3 3
$-$ -
Modifier la validité du cookie
6 session_set_cookie_params $ $ ! - + 8
! 7- 3 ! * $ # $ - ! + (
$ ( ,$ $ 8 ,$ - -
Modifier les valeurs des directives du php.ini avec ini_set
F ini_set # $ ! ! -
# $ $ ! (
,$
# $ !
F ini_get pour ! ! - $,
G
Exemple
Ouverture d’une session
<?php
// autoriser les cookies
ini_set("session.use_cookies", 1);
// interdire l'ajout automatique dans l'URL
ini_set("session.use_trans_sid", 0);
// modifier la validite du cookie
session_set_cookie_params(0, "/");
// modifier le nom et l'identifiant
session_name("test");
session_id("22");
session_start();
echo "session ouverte : ";
echo session_name(), "=", session_id();
?>
session ouverte : test=22
Navigation sous une session existante
<?php
ini_set("session.use_cookies", 1);
ini_set("session.use_trans_sid", 0);
session_name("test");
session_start();
echo "votre navigation est suivie par la session ";
echo session_name(), "=", session_id();
?>
votre navigation est suivie par la session test=22
4.3 Variables de session
Création d’une variable
! register_globals=on : ! --
session_register 8 - ! $ # $
"# $_SESSION
# $HTTP_SESSION_VARS
H
Vérification de l’existence d’une variable
session_is_registered register_globals=on
isset 8 -
6 TRUE ! 6 $ , # $
$ ! ( # $ ! - -
Affectation et lecture de la valeur
register_globals=on ! - $$ !
#
* ( $_SESSION IHTTP_SESSION_VARS
Suppression d’une variable
! -- ! session_register
session_unregister
* unset
Exemple
Création avec register_globals à on
<?php
session_start();
$livres = 1 ;
session_register('livres') ;
if (session_is_registered('livres')){
$livres = 4;
}
echo "la valeur est $livres";
?>
!
Consultation de la valeur de la variable
<?php
session_start();
echo "session ", session_name(), '=', session_id();
echo "<BR>la valeur est $livres ";
?>
session PHPSESSID=67623b8ca337e649e5ee08e8ccc79acf
la valeur est 4
4.4 Fermeture d’une session
6 session_destroy $ - - . 9!
- ( 3 8 -: & $
! # - . ( +
4.5 Exemple
* # > $ -
6 8 # 8 1
o - # $ (
o - -
o !# - # = $ 1
3 - # - (
- 9 $ :
6 $ ! 7- .commander.php 8 # !
J 8 # > 8 3 $$ !# (
! $ ,
Préférences communes
6 #- - # -$ ( $ 8 ( ! ( -
-- -
Script init.php : modification des directives
<?php
// parametres de session
ini_set("session.use_cookies", 1);
ini_set("session.use_trans_sid", 0);
session_set_cookie_params(0, "/");
// supprimer les balises html dans les entrees utilisateurs
foreach ($_POST as $cle=>$val){
$_POST[$cle] = strip_tags($val);
}
// creer ou restaurer une session
session_start();
?>
Début de page commun
K! 3 debutpage.php( ! $titre --( $ <
, 8 < $$ # >
Script debutpage.php : code HTML commun
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title><?php echo $titre ?></title>
<meta http-equiv="Content-Type" content="text/html;
charset=ISO-8859-1">
<style type="text/css">
<!—
div.menu {text-align:center; word-spacing:20px;
margin-bottom:20px; border:groove;
padding: 10px}
div.info {text-align:center; border:none;
font-style:italic}
div.princ {border:dotted; padding: 10px}
-->
</style>
</head>
<body>
<h1 style="text-align:center"><?php echo $titre ?></h1>
Bandeau de navigation commun à toutes les pages
2 #- , $ 8 3 7 @ 3506
3 * + --#- --( 8 - 3506 8
! $ - $ 8 ! ( L 3 - - 506
* ( 3 - 3506 5 $ !
- $ # > ! 7-
Script finpage.php : bandeau de navigation
<div class="menu">
<a href='films.php'>cin&eacute;ma</a>
<a href='disques.php'>musique</a>
<a href='livres.php'>livres</a>
<a href='caddie.php'>caddie</a>
<a href='deconnexion.php'>d&eacute;connexion</a>
</div>
<?php
// afficher l'identifiant de session
echo "<div class='info'>";
echo "votre commande est suivie par une session : <br>";
echo session_name(), " = ", session_id(), "</div>";
?>
</body>
</html>
Pages de choix du produit
Script livres.php
<?php
require("init.php");
$titre = "Livres";
require("debutpage.php");
?>
<form action="commander.php" method="POST">
<div class="princ">
<input type="radio" name="livre" value="1">Le tour du monde en 80
jours<br>
<input type="radio" name="livre" value="2">De la Terre &agrave; la
Lune<br>
<input type="radio" name="livre" value="3">Vingt milles lieues sous
les mers<br>
<input type="radio" name="livre" value="4">Voyage au centre de la
Terre<br><br>
<input type="submit" value="commander">
</div>
</form>
<?php
require("finpage.php");
?>
Stockage du produit dans le panier de commande
6 8 3 ( $ - commander.php
$ ( ,$ ! $ - livres.php( ! $_POST
$ 8 -M ! N ! 6 !
#- -- $ # 8 8 - ! 7-
Script commander.php : variables de session
<?php
require("init.php");
$titre = "Commande";
require("debutpage.php");
// enregistrer la commande dans une variable de session
echo "<div class='princ'>";
foreach ($_POST as $type=>$val){
$_SESSION[$type] = $val;
echo "le $type num&eacute;ro $val est dans votre caddie<br>";
}
echo "</div>";
require("finpage.php");
?>
0- 3 - $$
- ( ! +- ! 8 $;$
$ 8 3 K , - ! $- (
sess_4777db0b92dffd0f49219a27c59d132b $ 1
livre|s:1:"3";
5 L - $$ $ $- ( $ -
-8 1
livre|s:1:"3";film|s:1:"2";
Affichage du panier de commande
Script caddie.php
<?php
require("init.php");
$titre = "Votre commande";
require("debutpage.php");
// lister la commande
echo "<div class='princ'>";
foreach ($_SESSION as $cle=>$val){
echo "$cle num&eacute;ro $val<br>";
}
echo "</div>";
require("finpage.php");
?>
Déconnexion
deconnexion.php
<?php
require("init.php");
// suppression du cookie
setcookie(session_name(), "", time()-3600, '/');
$titre = "D&eacute;connexion";
require("debutpage.php");
// suppression des variables de session
$_SESSION = array();
// afficher un message
echo "<div class='princ'>fin de la session</div>";
// fermer la session
session_destroy();
// afficher le bandeau de menu
require("finpage.php");
?>

Contenu connexe

Tendances

Top 10 chausse trappes
Top 10 chausse trappesTop 10 chausse trappes
Top 10 chausse trappesDamien Seguy
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partiekadzaki
 
Pedoman cutoff
Pedoman cutoffPedoman cutoff
Pedoman cutoffb3randal
 
Atelier WordPress: Création d&rsquo;extension WordPress
Atelier WordPress: Création d&rsquo;extension WordPressAtelier WordPress: Création d&rsquo;extension WordPress
Atelier WordPress: Création d&rsquo;extension WordPressIZZA Samir
 
Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?Mickael Perraud
 
Application security and PCI DSS
Application security and PCI DSSApplication security and PCI DSS
Application security and PCI DSSSecurity Ninja
 
solitary & multilocular RL lesions
solitary & multilocular RL lesionssolitary & multilocular RL lesions
solitary & multilocular RL lesionsLE HAI TRIEU
 
Cours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partieCours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partiekadzaki
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correctionInes Ouaz
 
PROMOVENDO SEU EMPREENDIMENTO (GRATUITAMENTE)
PROMOVENDO SEU EMPREENDIMENTO (GRATUITAMENTE)PROMOVENDO SEU EMPREENDIMENTO (GRATUITAMENTE)
PROMOVENDO SEU EMPREENDIMENTO (GRATUITAMENTE)CLEVERSON TABAJARA
 

Tendances (20)

Top 10 chausse trappes
Top 10 chausse trappesTop 10 chausse trappes
Top 10 chausse trappes
 
Mp dv employment_081705
Mp dv employment_081705Mp dv employment_081705
Mp dv employment_081705
 
Cours php
Cours phpCours php
Cours php
 
Cours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partieCours php & Mysql - 1ére partie
Cours php & Mysql - 1ére partie
 
Php Data Object
Php Data ObjectPhp Data Object
Php Data Object
 
Pedoman cutoff
Pedoman cutoffPedoman cutoff
Pedoman cutoff
 
Atelier WordPress: Création d&rsquo;extension WordPress
Atelier WordPress: Création d&rsquo;extension WordPressAtelier WordPress: Création d&rsquo;extension WordPress
Atelier WordPress: Création d&rsquo;extension WordPress
 
Mpdf 3
Mpdf 3Mpdf 3
Mpdf 3
 
Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?Quoi de neuf dans Zend Framework 1.10 ?
Quoi de neuf dans Zend Framework 1.10 ?
 
Application security and PCI DSS
Application security and PCI DSSApplication security and PCI DSS
Application security and PCI DSS
 
Php4 Mysql
Php4 MysqlPhp4 Mysql
Php4 Mysql
 
Mpdf 8
Mpdf 8Mpdf 8
Mpdf 8
 
74 kg
74 kg74 kg
74 kg
 
Mpdf 5
Mpdf 5Mpdf 5
Mpdf 5
 
66 kg
66 kg66 kg
66 kg
 
solitary & multilocular RL lesions
solitary & multilocular RL lesionssolitary & multilocular RL lesions
solitary & multilocular RL lesions
 
Microsoft Word Engadega Linguistica.Doc
Microsoft Word   Engadega Linguistica.DocMicrosoft Word   Engadega Linguistica.Doc
Microsoft Word Engadega Linguistica.Doc
 
Cours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partieCours php & Mysql - 3éme partie
Cours php & Mysql - 3éme partie
 
Examen principal- php - correction
Examen principal- php - correctionExamen principal- php - correction
Examen principal- php - correction
 
PROMOVENDO SEU EMPREENDIMENTO (GRATUITAMENTE)
PROMOVENDO SEU EMPREENDIMENTO (GRATUITAMENTE)PROMOVENDO SEU EMPREENDIMENTO (GRATUITAMENTE)
PROMOVENDO SEU EMPREENDIMENTO (GRATUITAMENTE)
 

En vedette

2010.th16419.durand.arnaud
2010.th16419.durand.arnaud2010.th16419.durand.arnaud
2010.th16419.durand.arnaudvangogue
 
Travail sur la diapo
Travail sur la diapoTravail sur la diapo
Travail sur la diapoJoannaMeunier
 
Presentación memoria
Presentación memoriaPresentación memoria
Presentación memoriamemoriamemory
 
Ranuras De Expansion Grupo 4
Ranuras De Expansion Grupo 4Ranuras De Expansion Grupo 4
Ranuras De Expansion Grupo 4WillemVanH
 
Operadores Logisticos 2012
Operadores Logisticos 2012Operadores Logisticos 2012
Operadores Logisticos 2012Daniel Moreno
 
Aaaa
AaaaAaaa
Aaaajuan
 
Discours du Président de la République d’Haiti aux Nations Unies.
Discours du Président de la République d’Haiti aux Nations Unies.Discours du Président de la République d’Haiti aux Nations Unies.
Discours du Président de la République d’Haiti aux Nations Unies.consulatlHaitiaMontreal
 
Expérimentation évaluation scénarisée
Expérimentation évaluation scénariséeExpérimentation évaluation scénarisée
Expérimentation évaluation scénariséeKédem Ferré
 
La política social de la Unión Europea. Especial atención a la libre circul...
La política social de la Unión Europea.  Especial  atención a la libre circul...La política social de la Unión Europea.  Especial  atención a la libre circul...
La política social de la Unión Europea. Especial atención a la libre circul...Universidad Autónoma de Barcelona
 
Objetivos de los dm
Objetivos de los dmObjetivos de los dm
Objetivos de los dmMarta
 
Turismo en quintana roo
Turismo en quintana rooTurismo en quintana roo
Turismo en quintana rooboxito
 
Eval 2 inicial_jose_ruiz
Eval 2 inicial_jose_ruizEval 2 inicial_jose_ruiz
Eval 2 inicial_jose_ruizJosé Ruiz
 
Deployer PHP et MariaDB dans Azure - TechDays
Deployer PHP et MariaDB dans Azure - TechDaysDeployer PHP et MariaDB dans Azure - TechDays
Deployer PHP et MariaDB dans Azure - TechDaysChristophe Villeneuve
 
Jerusalem dans le coran sheikh imran hosein
Jerusalem dans le coran   sheikh imran hoseinJerusalem dans le coran   sheikh imran hosein
Jerusalem dans le coran sheikh imran hoseinMustapha Ben Mansour
 
De l’application mobile de santé au dispositif médical
De l’application mobile de santé au dispositif médicalDe l’application mobile de santé au dispositif médical
De l’application mobile de santé au dispositif médicaldigitalMedLab
 
Guia especialidad+derecho
Guia especialidad+derechoGuia especialidad+derecho
Guia especialidad+derechosandyesp
 

En vedette (20)

2010.th16419.durand.arnaud
2010.th16419.durand.arnaud2010.th16419.durand.arnaud
2010.th16419.durand.arnaud
 
Travail sur la diapo
Travail sur la diapoTravail sur la diapo
Travail sur la diapo
 
Diapos ambiente
Diapos ambienteDiapos ambiente
Diapos ambiente
 
Presentación memoria
Presentación memoriaPresentación memoria
Presentación memoria
 
Ranuras De Expansion Grupo 4
Ranuras De Expansion Grupo 4Ranuras De Expansion Grupo 4
Ranuras De Expansion Grupo 4
 
1+1=2
1+1=21+1=2
1+1=2
 
Operadores Logisticos 2012
Operadores Logisticos 2012Operadores Logisticos 2012
Operadores Logisticos 2012
 
Aaaa
AaaaAaaa
Aaaa
 
Discours du Président de la République d’Haiti aux Nations Unies.
Discours du Président de la République d’Haiti aux Nations Unies.Discours du Président de la République d’Haiti aux Nations Unies.
Discours du Président de la République d’Haiti aux Nations Unies.
 
Expérimentation évaluation scénarisée
Expérimentation évaluation scénariséeExpérimentation évaluation scénarisée
Expérimentation évaluation scénarisée
 
La política social de la Unión Europea. Especial atención a la libre circul...
La política social de la Unión Europea.  Especial  atención a la libre circul...La política social de la Unión Europea.  Especial  atención a la libre circul...
La política social de la Unión Europea. Especial atención a la libre circul...
 
Objetivos de los dm
Objetivos de los dmObjetivos de los dm
Objetivos de los dm
 
Turismo en quintana roo
Turismo en quintana rooTurismo en quintana roo
Turismo en quintana roo
 
Eval 2 inicial_jose_ruiz
Eval 2 inicial_jose_ruizEval 2 inicial_jose_ruiz
Eval 2 inicial_jose_ruiz
 
Chap10
Chap10Chap10
Chap10
 
Deployer PHP et MariaDB dans Azure - TechDays
Deployer PHP et MariaDB dans Azure - TechDaysDeployer PHP et MariaDB dans Azure - TechDays
Deployer PHP et MariaDB dans Azure - TechDays
 
Jerusalem dans le coran sheikh imran hosein
Jerusalem dans le coran   sheikh imran hoseinJerusalem dans le coran   sheikh imran hosein
Jerusalem dans le coran sheikh imran hosein
 
De l’application mobile de santé au dispositif médical
De l’application mobile de santé au dispositif médicalDe l’application mobile de santé au dispositif médical
De l’application mobile de santé au dispositif médical
 
Guia especialidad+derecho
Guia especialidad+derechoGuia especialidad+derecho
Guia especialidad+derecho
 
Book
BookBook
Book
 

Similaire à Chap2

démonstration code source site web ecole.docx
démonstration code source site web ecole.docxdémonstration code source site web ecole.docx
démonstration code source site web ecole.docxVincentBweka
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDOAbdoulaye Dieng
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfRihabBENLAMINE
 
COURS PHP.pptx
COURS PHP.pptxCOURS PHP.pptx
COURS PHP.pptxtokikun
 
La référence Clear php
La référence Clear phpLa référence Clear php
La référence Clear phpDamien Seguy
 
Introduction à Sinatra
Introduction à SinatraIntroduction à Sinatra
Introduction à SinatraRémi Prévost
 
Cours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partieCours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partiekadzaki
 
File manager authentification
File manager authentificationFile manager authentification
File manager authentificationBabacar Ndoye
 
Découverte du moteur de rendu du projet Spartan
Découverte du moteur de rendu du projet SpartanDécouverte du moteur de rendu du projet Spartan
Découverte du moteur de rendu du projet SpartanMicrosoft
 
Meet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaireMeet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaireJulien Vinber
 
Les principes de base de PHP
 Les principes de base de PHP  Les principes de base de PHP
Les principes de base de PHP EL JAOUARI Ahmed
 
PHP #4 : sessions & cookies
PHP #4 : sessions & cookiesPHP #4 : sessions & cookies
PHP #4 : sessions & cookiesJean Michel
 
Développement Web - HTML5, CSS3, APIs Web
Développement Web - HTML5, CSS3, APIs WebDéveloppement Web - HTML5, CSS3, APIs Web
Développement Web - HTML5, CSS3, APIs WebYoann Gotthilf
 

Similaire à Chap2 (20)

démonstration code source site web ecole.docx
démonstration code source site web ecole.docxdémonstration code source site web ecole.docx
démonstration code source site web ecole.docx
 
Le Tracking sur Internet
Le Tracking sur InternetLe Tracking sur Internet
Le Tracking sur Internet
 
php2 : formulaire-session-PDO
php2 : formulaire-session-PDOphp2 : formulaire-session-PDO
php2 : formulaire-session-PDO
 
Le client HTTP PHP5
Le client HTTP PHP5Le client HTTP PHP5
Le client HTTP PHP5
 
coursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdfcoursphp-230411142526-784b67e9.pdf
coursphp-230411142526-784b67e9.pdf
 
COURS PHP.pptx
COURS PHP.pptxCOURS PHP.pptx
COURS PHP.pptx
 
Compteur de visites
Compteur de visitesCompteur de visites
Compteur de visites
 
La référence Clear php
La référence Clear phpLa référence Clear php
La référence Clear php
 
Introduction à Sinatra
Introduction à SinatraIntroduction à Sinatra
Introduction à Sinatra
 
Cours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partieCours php & Mysql - 2éme partie
Cours php & Mysql - 2éme partie
 
HTML5
HTML5HTML5
HTML5
 
Cours php
Cours php Cours php
Cours php
 
File manager authentification
File manager authentificationFile manager authentification
File manager authentification
 
A13 big data et web sémantique
A13  big data et web sémantiqueA13  big data et web sémantique
A13 big data et web sémantique
 
Découverte du moteur de rendu du projet Spartan
Découverte du moteur de rendu du projet SpartanDécouverte du moteur de rendu du projet Spartan
Découverte du moteur de rendu du projet Spartan
 
Meet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaireMeet up symfony 11 octobre 2016 - Les formulaire
Meet up symfony 11 octobre 2016 - Les formulaire
 
Les principes de base de PHP
 Les principes de base de PHP  Les principes de base de PHP
Les principes de base de PHP
 
Php cours
Php coursPhp cours
Php cours
 
PHP #4 : sessions & cookies
PHP #4 : sessions & cookiesPHP #4 : sessions & cookies
PHP #4 : sessions & cookies
 
Développement Web - HTML5, CSS3, APIs Web
Développement Web - HTML5, CSS3, APIs WebDéveloppement Web - HTML5, CSS3, APIs Web
Développement Web - HTML5, CSS3, APIs Web
 

Plus de vangogue

Boutique en ligne
Boutique en ligneBoutique en ligne
Boutique en lignevangogue
 
EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).
EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).
EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).vangogue
 
Edilivre les-fleurs-grises-de-midi-dieudonne-francois-ndje-man-preview
Edilivre les-fleurs-grises-de-midi-dieudonne-francois-ndje-man-previewEdilivre les-fleurs-grises-de-midi-dieudonne-francois-ndje-man-preview
Edilivre les-fleurs-grises-de-midi-dieudonne-francois-ndje-man-previewvangogue
 
Owasp top-10-2013-french
Owasp top-10-2013-frenchOwasp top-10-2013-french
Owasp top-10-2013-frenchvangogue
 
Rattrapage uml
Rattrapage umlRattrapage uml
Rattrapage umlvangogue
 
Scbd cg conception
Scbd cg conceptionScbd cg conception
Scbd cg conceptionvangogue
 
B4 tab calc excel
B4 tab calc excelB4 tab calc excel
B4 tab calc excelvangogue
 
Correction examen-java-avancé-1
Correction examen-java-avancé-1Correction examen-java-avancé-1
Correction examen-java-avancé-1vangogue
 
java BDD jdbc
java BDD jdbcjava BDD jdbc
java BDD jdbcvangogue
 
1 la-demarche-merise-le-schema-directeur
1 la-demarche-merise-le-schema-directeur1 la-demarche-merise-le-schema-directeur
1 la-demarche-merise-le-schema-directeurvangogue
 
Chap7 developpement modele statique
Chap7 developpement modele statiqueChap7 developpement modele statique
Chap7 developpement modele statiquevangogue
 
Cours2 uml usecase
Cours2 uml usecaseCours2 uml usecase
Cours2 uml usecasevangogue
 

Plus de vangogue (13)

Boutique en ligne
Boutique en ligneBoutique en ligne
Boutique en ligne
 
EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).
EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).
EXPOSE SUR L’ALGORITHME DU TRI À BULLES (BUBBLE SORT).
 
Edilivre les-fleurs-grises-de-midi-dieudonne-francois-ndje-man-preview
Edilivre les-fleurs-grises-de-midi-dieudonne-francois-ndje-man-previewEdilivre les-fleurs-grises-de-midi-dieudonne-francois-ndje-man-preview
Edilivre les-fleurs-grises-de-midi-dieudonne-francois-ndje-man-preview
 
Owasp top-10-2013-french
Owasp top-10-2013-frenchOwasp top-10-2013-french
Owasp top-10-2013-french
 
Rattrapage uml
Rattrapage umlRattrapage uml
Rattrapage uml
 
Scbd cg conception
Scbd cg conceptionScbd cg conception
Scbd cg conception
 
B4 tab calc excel
B4 tab calc excelB4 tab calc excel
B4 tab calc excel
 
Correction examen-java-avancé-1
Correction examen-java-avancé-1Correction examen-java-avancé-1
Correction examen-java-avancé-1
 
Vb bdd
Vb bddVb bdd
Vb bdd
 
java BDD jdbc
java BDD jdbcjava BDD jdbc
java BDD jdbc
 
1 la-demarche-merise-le-schema-directeur
1 la-demarche-merise-le-schema-directeur1 la-demarche-merise-le-schema-directeur
1 la-demarche-merise-le-schema-directeur
 
Chap7 developpement modele statique
Chap7 developpement modele statiqueChap7 developpement modele statique
Chap7 developpement modele statique
 
Cours2 uml usecase
Cours2 uml usecaseCours2 uml usecase
Cours2 uml usecase
 

Chap2

  • 1. <FORM action="commande.php"> <P>Nombre <INPUT type="text" name="nombre_de_personnes"> <INPUT type="submit" value="commander"></P> </FORM> commande.php?nombre_de_personnes=4 register_globals <?php echo "le nombre est : $nombre_de_personnes"; ?> $HTTP_POST_VARS $HTTP_GET_VARS <?php $nb = $HTTP_GET_VARS['nombre_de_personnes']; echo "le nombre est : $nb"; ?> ! "# $_GET $_POST $_REQUEST (register_long_arrays = On ) <?php $nb = $_GET['nombre_de_personnes']; echo "le nombre est : $nb"; ?> import_request_variables o # $ g %&'( p )*' c + o ,$ # $ - . ! ! <?php import_request_variables("pg", "f_") ; echo "le nombre est : $f_nombre_de_personnes"; ?> / extract
  • 2. <FORM action="commande.php"> <P>Vous souhaitez commander une laisse pour :<BR> <INPUT type="checkbox" name="laisse" value="1">chien<br> <INPUT type="checkbox" name="laisse" value="2">chat<br> <INPUT type="checkbox" name="laisse" value="3"> crocodile<br> <INPUT type="submit" value="commander"></P> </FORM> commande.php?laisse=1&laisse=2 0- - ! $_GET 1 <?php $nb = $_GET['laisse']; echo "valeur de laisse = $nb"; ?> valeur de laisse = 2 * 1 - <INPUT type="checkbox" name="laisse[]" value="1"> chien<br> <INPUT type="checkbox" name="laisse[]" value="2">chat<br> <INPUT type="checkbox" name="laisse[]" value="3"> crocodile<br> commande.php?laisse%5B%5D=1&laisse%5B%5D=2 <?php echo "laisse = ", $_GET['laisse']; ?> laisse = Array <?php $laisse = $HTTP_GET_VARS['laisse']; foreach ($laisse as $val){ echo "laisse = $val<br>"; } ?> laisse = 1 laisse = 2
  • 3. 2 3 # 4 - 1 # $ 3506 ?idclient=21000 2 $ - $ <INPUT type="hidden" name="idclient" value="21000"> 2 +
  • 4. nom=valeur ! 7- - '' +- 8 ( ! - - 9 $ JJ-Mois-AAAA HH:MM:SS GMT) ! $ 9 : $ - 9 : ! 7- 8 3 -$ 8 ; ! ! Envoi du cookie par le serveur (réponse HTTP) 5 $ * "2 + 9 + : 3 " ; - '' 1 Set-Cookie: nom=valeur; expires=date; path=chemin; domain=nom_de_domaine; secure 4 - 1 + 8 $ - $ $ ! 8 #- , + $ $ 8 ! 7- + + ! 7-8 8 7 $$ 9 7 - : Envoi du cookie par le client (requête HTTP) Cookie: nom1=valeur1; nom2=valeur2 ... Envoi de cookies au client dans un script PHP booleen setcookie("nom", "valeur", expiration, "chemin", "domaine", secure) * 3 # $ $ # 63 # $ expiration $ $ 3 6 + - ! 6 $ $ < , 9 - -: = - 9 ! 3- : 6 " - snack.fr ! + 6 ( ,$ ,$ $ , 3 ! ( ,$ . 6 ( ,$ ,$ + ! 7- 8 ; > snack.fr( ,$ ! 7- 8 ; - $;$ - 8 8 ! 7- + <?php // cookie qui expirera dans 10 minutes setcookie("idclient","21000", time()+600, "/"); setcookie("langue", "fr"); setcookie("client[id]", "21000", time()+600, "/"); setcookie("client[langue]", "fr", time()+600, "/"); ?>
  • 5. Lecture des cookies envoyés par le serveur depuis un script ! register_globals=on 1 ! # -- 8 + ! track_vars=on 1 $HTTP_COOKIE_VARS "# $_COOKIE $_REQUEST 2 8 + <?php foreach ($HTTP_COOKIE_VARS as $cle=>$val){ if (is_array($val)){ foreach ($val as $cle2=>$val2){ echo "$cle : $cle2 = $val2<BR>"; } } else{ echo "$cle = $val<BR>"; } } ?>
  • 6. ? 2 @ - $;$ - 8 index.php 8 - + A langue = fr client : id = 21000 client : langue = fr idclient = 21000 2 @ - - > 1 1 # ! " ,# ,8 6 4.1 Principe 8 ! ! $ ! ; -- $ $ - 5 - 1 + 3 $$ B- ! $ 3 - 1 PHPSESSID ! < 4777db0b92dffd0f49219a27c59d132b $ C 8 1 o + 9 D: PHPSESSID=4777db0b92dffd0f49219a27c59d132b o 506 1 - 3 ! . + A ( ! session.use_trans_sid !- E 8 3. ! ! - 8 $ ! -- $ - ! 3 enable-trans-sid 6 8 - 3506( 506 9 7 $ : ! $ # $ 3 1 ?PHPSESSID=4777db0b92dffd0f49219a27c59d132b
  • 7. / 6 phpinfo() $ 3 $ # 5 $ 9 3 $ - ! :( 8 ! ! 9! - # : 2 ! $ $$ 1 " $ 9session.name:( " $- + # - 3 9session.save_handler:( - -( " 3 # $ . $- + # 9session.save_path:( 3 # $ - $ @ +- ( " $- $ 3 . 9session.use_cookies:( ! off . 506 ( " $ - $ 8 3506 ! 3 9session.use_trans_sid:( " ! - + $ - 9session.cookie_lifetime:( $ 9session.cookie_domain:( $ $ 9session.cookie_path: - -9session.cookie_secure: 4.2 Ouverture d’une session F session_start 9 - ! -! $ ! + : Modifier le nom de la session et de l’identifiant F session_name 9 # $ $ . . : F session_id 9 # $ 3 . : 2 ! ; - ! 3 ! 6 8 $ --$ -( session_name 8 $ 3 ! 3 $ $ 3 3 $-$ - Modifier la validité du cookie 6 session_set_cookie_params $ $ ! - + 8 ! 7- 3 ! * $ # $ - ! + ( $ ( ,$ $ 8 ,$ - - Modifier les valeurs des directives du php.ini avec ini_set F ini_set # $ ! ! - # $ $ ! ( ,$ # $ ! F ini_get pour ! ! - $,
  • 8. G Exemple Ouverture d’une session <?php // autoriser les cookies ini_set("session.use_cookies", 1); // interdire l'ajout automatique dans l'URL ini_set("session.use_trans_sid", 0); // modifier la validite du cookie session_set_cookie_params(0, "/"); // modifier le nom et l'identifiant session_name("test"); session_id("22"); session_start(); echo "session ouverte : "; echo session_name(), "=", session_id(); ?> session ouverte : test=22 Navigation sous une session existante <?php ini_set("session.use_cookies", 1); ini_set("session.use_trans_sid", 0); session_name("test"); session_start(); echo "votre navigation est suivie par la session "; echo session_name(), "=", session_id(); ?> votre navigation est suivie par la session test=22 4.3 Variables de session Création d’une variable ! register_globals=on : ! -- session_register 8 - ! $ # $ "# $_SESSION # $HTTP_SESSION_VARS
  • 9. H Vérification de l’existence d’une variable session_is_registered register_globals=on isset 8 - 6 TRUE ! 6 $ , # $ $ ! ( # $ ! - - Affectation et lecture de la valeur register_globals=on ! - $$ ! # * ( $_SESSION IHTTP_SESSION_VARS Suppression d’une variable ! -- ! session_register session_unregister * unset Exemple Création avec register_globals à on <?php session_start(); $livres = 1 ; session_register('livres') ; if (session_is_registered('livres')){ $livres = 4; } echo "la valeur est $livres"; ?> ! Consultation de la valeur de la variable <?php session_start(); echo "session ", session_name(), '=', session_id(); echo "<BR>la valeur est $livres "; ?> session PHPSESSID=67623b8ca337e649e5ee08e8ccc79acf la valeur est 4 4.4 Fermeture d’une session 6 session_destroy $ - - . 9! - ( 3 8 -: & $ ! # - . ( +
  • 10. 4.5 Exemple * # > $ - 6 8 # 8 1 o - # $ ( o - - o !# - # = $ 1 3 - # - ( - 9 $ : 6 $ ! 7- .commander.php 8 # ! J 8 # > 8 3 $$ !# ( ! $ , Préférences communes 6 #- - # -$ ( $ 8 ( ! ( - -- - Script init.php : modification des directives <?php // parametres de session ini_set("session.use_cookies", 1); ini_set("session.use_trans_sid", 0); session_set_cookie_params(0, "/");
  • 11. // supprimer les balises html dans les entrees utilisateurs foreach ($_POST as $cle=>$val){ $_POST[$cle] = strip_tags($val); } // creer ou restaurer une session session_start(); ?> Début de page commun K! 3 debutpage.php( ! $titre --( $ < , 8 < $$ # > Script debutpage.php : code HTML commun <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title><?php echo $titre ?></title> <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> <style type="text/css"> <!— div.menu {text-align:center; word-spacing:20px; margin-bottom:20px; border:groove; padding: 10px} div.info {text-align:center; border:none; font-style:italic} div.princ {border:dotted; padding: 10px} --> </style> </head> <body> <h1 style="text-align:center"><?php echo $titre ?></h1> Bandeau de navigation commun à toutes les pages 2 #- , $ 8 3 7 @ 3506 3 * + --#- --( 8 - 3506 8 ! $ - $ 8 ! ( L 3 - - 506 * ( 3 - 3506 5 $ ! - $ # > ! 7- Script finpage.php : bandeau de navigation <div class="menu"> <a href='films.php'>cin&eacute;ma</a> <a href='disques.php'>musique</a> <a href='livres.php'>livres</a> <a href='caddie.php'>caddie</a> <a href='deconnexion.php'>d&eacute;connexion</a> </div>
  • 12. <?php // afficher l'identifiant de session echo "<div class='info'>"; echo "votre commande est suivie par une session : <br>"; echo session_name(), " = ", session_id(), "</div>"; ?> </body> </html> Pages de choix du produit Script livres.php <?php require("init.php"); $titre = "Livres"; require("debutpage.php"); ?> <form action="commander.php" method="POST"> <div class="princ"> <input type="radio" name="livre" value="1">Le tour du monde en 80 jours<br> <input type="radio" name="livre" value="2">De la Terre &agrave; la Lune<br> <input type="radio" name="livre" value="3">Vingt milles lieues sous les mers<br> <input type="radio" name="livre" value="4">Voyage au centre de la Terre<br><br> <input type="submit" value="commander"> </div> </form> <?php require("finpage.php"); ?>
  • 13. Stockage du produit dans le panier de commande 6 8 3 ( $ - commander.php $ ( ,$ ! $ - livres.php( ! $_POST $ 8 -M ! N ! 6 ! #- -- $ # 8 8 - ! 7- Script commander.php : variables de session <?php require("init.php"); $titre = "Commande"; require("debutpage.php"); // enregistrer la commande dans une variable de session echo "<div class='princ'>"; foreach ($_POST as $type=>$val){ $_SESSION[$type] = $val; echo "le $type num&eacute;ro $val est dans votre caddie<br>"; } echo "</div>"; require("finpage.php"); ?> 0- 3 - $$
  • 14. - ( ! +- ! 8 $;$ $ 8 3 K , - ! $- ( sess_4777db0b92dffd0f49219a27c59d132b $ 1 livre|s:1:"3"; 5 L - $$ $ $- ( $ - -8 1 livre|s:1:"3";film|s:1:"2"; Affichage du panier de commande Script caddie.php <?php require("init.php"); $titre = "Votre commande"; require("debutpage.php"); // lister la commande echo "<div class='princ'>"; foreach ($_SESSION as $cle=>$val){ echo "$cle num&eacute;ro $val<br>"; } echo "</div>"; require("finpage.php"); ?>
  • 15. Déconnexion deconnexion.php <?php require("init.php"); // suppression du cookie setcookie(session_name(), "", time()-3600, '/'); $titre = "D&eacute;connexion"; require("debutpage.php"); // suppression des variables de session $_SESSION = array(); // afficher un message echo "<div class='princ'>fin de la session</div>"; // fermer la session session_destroy(); // afficher le bandeau de menu require("finpage.php"); ?>