2009-10-03 5 views
0

Comment conserver l'état de session d'une variable sur un site?Comment créer une session en PHP avec une chaîne aléatoire?

Par exemple:

atterrit utilisateur sur mon site, la chaîne générée est

$string = 'uejsh37rhda283jde86541as'; 

(Cette chaîne est générée automatiquement par un flux xml sur chaque rafraîchissement de page).

Maintenant, tout fonctionne bien jusqu'à présent. Le problème est lorsque l'utilisateur clique sur une autre page sur le site, le flux xml crée une nouvelle chaîne aléatoire.

Je sais que je dois utiliser des sessions ici, mais comment exactement?

if(isset($_SESSION[])): 
    ? 
else: 
     ? 
endif; 

Code Mise à jour:

if(isset($_SESSION['session'])): 
     $string = $_SESSION['session']; 
else: 
     $string = $sessionId; 
     $_SESSION['session'] = $string; 
endif; 

echo $string; 

Répondre

2

Essayez ceci:

// call session_start() here if session handler is not started yet 
if (isset($_SESSION['random-string'])) { 
    $string = $_SESSION['random-string']; 
} else { 
    $string = generateRandomString(); 
    $_SESSION['random-string'] = $string; 
} 
1
if (isset($_SESSION['my_string'])) { 
    $string = $_SESSION['my_string']; 
} 
else { 
    $string = generate_random_string(); 
    $_SESSION['my_string'] = $string; 
} 
// now do something with $string 
+0

Ne pas oublier la 'session_start()' – random

5

Tout d'abord, vous devez appeler session_start() sur toutes les pages qui ont accès ou manipuler les données de session.

Vous pouvez le faire comme ceci:

session_start(); 

if (!isset($_SESSION['string'])) { 

    $string = makeString(); 
    $_SESSION['string'] = $string; 

} 
+0

Très proche, je reçois quelque part. Pouvez-vous voir mon code mis à jour et indiquer où je me trompe s'il vous plaît? –

+0

Keith, pouvez-vous expliquer ce que vous essayez de faire avec le code? Il semble que vous essayez de faire ce que php fait automatiquement pour vous. Avez-vous regardé session_id() de php? Chaque session commencée par session_start() obtient un identifiant unique. –

+0

Aucun problème de codeburger. Ceci est pour un flux spécial. Le flux crée une chaîne unique utilisée pour chaque personne accédant au site. Il est vital que cette chaîne soit utilisée. Ainsi, lorsque l'utilisateur visite d'autres pages, l'entreprise propriétaire du flux peut suivre l'utilisateur. –

Questions connexes