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
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 -: & $
! # - . ( +
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é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é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 à 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éro $val est dans votre caddie<br>";
}
echo "</div>";
require("finpage.php");
?>
0- 3 - $$
15. Déconnexion
deconnexion.php
<?php
require("init.php");
// suppression du cookie
setcookie(session_name(), "", time()-3600, '/');
$titre = "Dé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");
?>