Recherche rapide
     
Espace Membres
il y'a actuellement 32370 membres
 
Pseudo  
Password  
inscriptions
 
Cours php/Tutoriels
  1/  Apprendre les bases de PHP
  1a/  Divers en PHP, les erreurs, les variables etc...
  2/  Les variables
  3/  Les variables d'environnements
  4/  Les conditions
  5/  Les boucles
  6/  Les cookies
  7/  Travailler sur les dates
  8/  Les tableaux array()
  9/  Travailler avec les fichiers
  10/  Traiter les chaines de caractères
  11/  Récuperer et verifier les données d'un formulaire
  12/  Envoyer des mails
  13/  Les pseudo-frames
  14/  Débuter avec mysql
  15/  Fonctions update et delete de mysql
  16/  Comprendre et utiliser la clause where
  17/  Liste de quelques fonctions mysql
  18/  Mysql par la pratique, construire un livre d'or
  19/  Construire un mini moteur ou annuaire
  20/  Afficher sur plusieurs pages
  21/  La construction de votre forum
  22/  Faire son script de sondage (vote)
  23/  Sessions , mise en pratique
  24/  Sessions , récapitulatif
  25/  Les expressions régulières
  26/  Coder son ANTI-FLOOD
  27/  Utiliser et créer ses fonctions
  28/  Upload et transfert de fichiers
 
 
 
Liens
  Les cours pour bien débuter PHP
Récapitulatif sur les sessions n°24

Mis à jour le 23-1-2007

Suite à de nombreuses questions, voici un récapitulatif sur les sessions ainsi que les variables à utiliser.

Les noms à retenir

Noms des fonctions
session_start() démarre une session
session_name() affiche le nom de la session ( par défaut PHPSESSID )
session_id() affiche le numéro de session
session_register() enregistre une variable pour la session en cours
session_unregister() supprime une variable de session
session_is_registered() vérifie que la variable de session est enregistrée
session_unset() détruit toutes les variables de session enregistrées
session_destroy() détruit la session en cours


Voici les noms que vous devrez retenir, ceux ci vous servirons à chaque fois que vous utiliserez les sessions.

 
Exemple de création de session
<?php
//on démarre la session
session_start();

//on affiche le nom et le numéro de session
print 'le nom de la session est '.session_name().' l\'id de session est '.session_id();

Jusqu'ici, rien de très complexe, si vous ne voyez pas de résultat, rafraîchissez la page, et vous pourrez lire ceci:

le nom de la session est PHPSESSID l'id de session est azd1258996adkjhgs44hjdkus
 
Enregistrez un variable
Créer une page formulaire nommée form.php par exemple avec ce genre de code

<html>
<head></head>
<body>
<form method="post" action="enregistre.php">
<input type="text" name="nom" / >&nbsp;Entrez votre nom<br />
<input type="submit" name="button" value="Enregistrer la variable" />
</form>
</body>
</html>
Créer la page nommée enregistre.php, et insérez le code ci dessous:

<?php
//on démarre la session
session_start();
//on enregistre la variable nom dans la session ouverte
$_SESSION['nom'] = $_POST['nom'];


header('location: affiche.php');

?>


Création de la page affiche.php pour visualiser le résultat

<?php
//on démarre la session
session_start();

//on affiche la variable enregistrée précédemment
print 'votre nom est '.$_SESSION['nom'];



// liens page vérifier nommée verif.php

print '<br /><a href="verif.php">Vérifier l\'enregistrement</a>';

?>
Explication:
Vous pourrez remarquer que lors de l'enregistrement de la variable "nom" en session, le signe $ n'est pas ajouter dans session_register, si vous l'ajoutez, la variable ne sera pas enregistrée.
Avec les nouvelles version de PHP, vous pourrez rencontrer un problème en récupérant la variable nom simplement en utilisant $nom, vous devrez la récupérer de cette manière $_POST['nom'] ou $HTTP_POST_VARS[nom]
 
Vérifier que la variable est enregistrée ( page verif.php )
<?php
session_start();


if( session_is_registered('nom') ) { // ou if( $_SESSION['nom'] == true ){

// la variable de session nom est enregistrée

print 'la variable nom est enregistrée , votre nom est '.$_SESSION['nom'];

//lien de suppression de variable et destruction de session
print '<a href="out.php">Quitter la session</a>';
}
else{
// la variable n'est pas enregistrée, on renvoi sur le formulaire

print '<a href="form.php">Cliquez ici pour vous enregistrer</a>';

}


?>
 
 
Page de destruction de session et variable ( out.php )

<?php
session_start();


//suppression de la variable de session
session_unregister('nom');
// ou $_SESSION['nom'] = '';

//par mesure de sécurité, on détruit toutes les variables ainsi que la session en cours
session_unset();
session_destroy();

// la variable nom n'est plus enregistrée, vous pouvez vérifier avec les liens ci-dessous
print '<br /><a href="verif.php">Vérifier l\'enregistrement</a>';
print '<br /><a href="affiche.php">Afficher la variable</a>';

?>


En cliquant sur les liens, vous ne devrez plus voir le résultat de la variable nom, car celle ci a été détruite, n'oubliez pas de faire cette manipulation, car une variable enregistrée reste valide jusqu'à l'expiration de la session.
 

Vous avez maintenant toutes les cartes en mains pour réaliser vos scripts et manipuler les sessions.
! ATTENTION !
la fonction session_start(); doit être lancée avant tout envoie de code html, print echo ou autre affichage, si vous ne respecter pas cette condition, vous aurez des erreurs de HEADERS que l'on voit souvent ;-)

 

A vos claviers et bonne prog
'e' Stressman


>>> Cours suivant n° 1

 

 

 
 
Rubrique installer
  1°/  Apache et PHP
  2°/  Mysql sur votre PC (version tar.gz)
  3°/  Mysql sur votre PC (version rpm)
 
Newsletter

 
Votez !!
Pas de votes ni suggestions actuellement
 
 
 
Débuter Linux
 1°/   Introduction
 2°/   Installation ( 1ere partie )
 3°/   Installation ( 2ème partie )
 4°/   Connexion / documentation / Synthaxe
 5°/   Les différentes commandes sous linux
 6°/   Installer / Désinstaller / Lister les applications
 7°/   Manipulation des chaines de caractères
 
    © Copyright 2005 - az-php.com - tous droits réservés , reproduction interdite . Hébergé par 1hebergeur.com [ mentions légales & copyright ]