Php et session

Résolu/Fermé
pierdu17 Messages postés 77 Date d'inscription samedi 29 septembre 2007 Statut Membre Dernière intervention 15 novembre 2011 - 16 oct. 2008 à 14:35
Hwi_noree Messages postés 37 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 19 mars 2009 - 16 oct. 2008 à 15:05
Bonjour,
je suis débutant en php et je voudrais connaître la différence entre session_id et sid car dans mon cour c'est très mal expliqué; j'ai quand même réussi a faire cette page php mais je ne comprends pas certaines choses.

<?php
session_start(); // démarre une session.
if($_GET['action'] == "newSession")
{
$_SESSION = array(); //on ecrase le tableau de session
if(isset($_COOKIE[session_name()]))
{
setcookie(session_name(),"",time()-42000,'/');
}// si on veut détruire totalement la session il faut effacer le cookie de session.
session_destroy(); // destruction de la session
session_start(); // on recréer la session.
}
?>
<html>
<head>
<meta http-equiv="Content-type" content="text/html;charset=ISO-8859-1">
<title>Etude des sessions</title> <!-- Nom de la page web -->
</head>
<body>
<h1>Etude des sessions (page 1)</h1> <!-- titre principal de la page web -->
<hr>

<h3>PHPSESSID=<?php echo session_id();?></h3>
<!--récupération de la valeur de l'identifiant de session-->
<hr>
<!--voila à partir d'ici ce n'est pas très clair entre les différentes sessions si quelqu'un peut m'aider. -->
<h2>Allez sur la page suivante pour connaître le nombre de visites durant cette session</h2>
<a href="pageSuivante_v2.php?<?php echo(SID); ?>">Page suivante</a>
<hr>
<h2> Ré-initialiser la session : version avec le SID </h2>
<a href="accueil_v2.php?<?php echo (SID); ?>&action=newSession"> Nouvelle session </a>
<hr>
<h2> Ré-initialiser la session : version avec la session_id </h2>
<a href="accueil_v2.php?<?php echo (session_id()); ?>&action=newSession"> Nouvelle session </a>
</body>
</html>

1 réponse

Hwi_noree Messages postés 37 Date d'inscription mercredi 24 septembre 2008 Statut Membre Dernière intervention 19 mars 2009 14
16 oct. 2008 à 15:05
Ok donc tu as bien compris :
Déclaration | <? session_register("var"); ?>
Affectation | <? $var="blabla"; ?>
Affichage:lecture | <? echo $var; ?>

Une session c'est une liste de variable
Le sid c'est une de ces variables, c'est l'identifiant d'une session (surement que ça doit vouloir dire "session id ?").

D'ailleurs il y a bien :
- session_destroy() qui détruit toutes les données associées à la session courante, sans détruire les variables globales et/ou cookies associées à cette session.
- session_unregister($var) qui supprime une variable ($var) de la session

---------------------------------<>

De page en page, à chaque fois qu'on session_start(), PHP cherche un SID correspondant au visiteur. S'il n'en trouve pas, c'est que le visiteur vient d'arriver. Une nouvelle session est donc crée, avec un nouveau sid.

if($PHPSESSID) session_start($PHPSESSID); // Session créée ?
else session_start(); //Sinon, en créer une nouvelle

---------------------------------<>

Sur la propagation du SID :
https://www.php.net/manual/fr/session.idpassing.php
1