Chap2

208 vues

Publié le

0 commentaire
0 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

Aucun téléchargement
Vues
Nombre de vues
208
Sur SlideShare
0
Issues des intégrations
0
Intégrations
3
Actions
Partages
0
Téléchargements
2
Commentaires
0
J’aime
0
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

Chap2

  1. 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. 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. 3. 2 3 # 4 - 1 # $ 3506 ?idclient=21000 2 $ - $ <INPUT type="hidden" name="idclient" value="21000"> 2 +
  4. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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"); ?>

×