Rechercher : dans
Par :

Php et session

Dernière réponse le 16 oct 2008 à 15:05:41 pierdu17, le 16 oct 2008 à 14:35:12 
 Signaler ce message aux modérateurs

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>

Configuration: Windows Vista
Firefox 3.0.3

Meilleures réponses pour « php et session » dans :
PHP - Les variables VoirConcept de variable avec PHP Une variable est un objet repéré par son nom, pouvant contenir des données, qui pourront être modifiées lors de l'exécution du programme. Les variables en langage PHP peuvent être de trois...

1

 Hwi_noree, le 16 oct 2008 à 15:05:41

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 :
http://fr2.php.net/manual/fr/session.idpassing.php FucK Da SysteM

Répondre à Hwi_noree