Comment faire pour utiliser, stocker et utiliser des variables de session dans toutes les pages?
Quand une page est accessible, je voudrais commencer une session et de stocker une variable de session:
<?php
session_start();
$_SESSION['myvar']='myvalue';
?>
Puis à partir d'une autre page, je voudrais vérifier si cette variable de session a été enregistrée:
<?php
session_start();
echo("1");
if(isset($_SESSION['myvar']))
{
echo("2");
if($_SESSION['myvar'] == 'myvalue')
{
echo("3");
exit;
}
}
?>
Ce code ne fonctionne pas pour moi.
Comment est l'ID de session transféré? Avez-vous vérifier si l'ID de session est la même sur les deux pages?
Dans ce cas, le courant de configuration de la session pour session.use_cookies, session.use_cookies_only et session.use_trans_sid serait utile (voir
Et que dire de l'ID de session? Sont-ils identiques sur les deux pages?
Puis ma dernière supposition est que ce soit session.save_handler ou session.save_path n'est pas correctement configuré.
Dernière question: est-ce
Dans ce cas, le courant de configuration de la session pour session.use_cookies, session.use_cookies_only et session.use_trans_sid serait utile (voir
ini_get
). Et l'ID de session en cours peut être récupéré avec session_id
Et que dire de l'ID de session? Sont-ils identiques sur les deux pages?
Puis ma dernière supposition est que ce soit session.save_handler ou session.save_path n'est pas correctement configuré.
Dernière question: est-ce
/var/php_sessions
existent et il est accessible en lecture/écriture par PHP? Vous pouvez le vérifier facilement en accédant à ce répertoire et à la recherche d'un fichier nommé sess_e92d1212a93e216e96523ff1e903ed41.
OriginalL'auteur ab11 | 2011-03-30
Vous devez vous connecter pour publier un commentaire.
Raisonnement à partir des commentaires à cette question, il apparaît un manque d'ajustement session.save_path les causes de ce comportement de PHP du gestionnaire de session. Il suffit de spécifier un répertoire (en dehors de votre répertoire racine du document) qui existe et qui est à la fois lisible et inscriptible par PHP pour résoudre ce problème.
Depuis séances contiennent souvent des données sensibles, vous ne voulez pas les fichiers de session pour être accessible par le web. Et ce qui serait le cas lorsque vous les stocker dans un répertoire à l'intérieur de la répertoire racine du document.
Ainsi, l'utilisation de vue à distance dans dreaweaver, j'ai navigué au-dessus de "public_html" à la racine de mon site, et ajouté des répertoires "var/php_sessions". Et puis j'ai ajouté: session_save_path ('/var/php_sessions');, ajoutez le début de deux pages. Cela n'a eu aucun effet.
Le chemin d'accès dans session.save_path est un absolu chemin du système de fichiers n'est pas interprété relativement au répertoire racine du document (où vous absolument ne devrait pas stocker les fichiers de session!).
Pas de. Depuis “.../public_html” est votre répertoire racine du document, vous ne devez pas stocker les fichiers de session quelque part à l'intérieur de ce répertoire (par exemple “.../public_html/var/php_sessions”). En outre, le chemin de l' session.save_path est interprété comme un absolu chemin du système de fichiers et non pas par rapport au répertoire racine du document. Donc
/var/php_sessions
serait interprété comme “/var/php_sessions” et non comme “.../public_html/var/php_sessions”.OriginalL'auteur Gumbo
Sessions Étape Par Étape
La définition de session avant tout, Pas de sortie avant que, PAS de SORTIE
Configurer votre session à l'intérieur d'une page, puis vous avez accès à cette page. Par exemple c'est page 1.php
L'aide et l'Obtention de session dans 2.php
NOTE: les Commentaires n'ont pas de sortie.
OriginalL'auteur M98
Tout ce que vous voulez faire est d'écrire --- session_start(); ----- sur les deux pages..
La question d'origine a déjà cet appel de fonction sur les deux pages, et les autres réponses ont montré que c'était un problème de système de fichiers, et non un code de problème.
OriginalL'auteur gaurav
Dans la possibilité que la deuxième page ne dispose pas de l'accès partagé à la cookie de session, vous devez définir le cookie de session chemin à l'aide de session_set_cookie_params:
Et
OriginalL'auteur zzzzBov
Chaque fois que vous démarrez une session (s'applique à la version de PHP 5.2.54),
session_start()
crée un nouvel identifiant de session.Ici est la correction qui a fonctionné pour moi.
File1.php
File2.php
OriginalL'auteur Nitin Hurkadli
Démarrage d'une Session:
Mettre au-dessous de code au début du fichier.
Stocker une variable de session:
Pour Vérifier si les données stockées dans la variable de session:
?>
détail ici http://skillrow.com/sessions-in-php-4/
OriginalL'auteur user3796796
Essayer cette
Première Page
Deuxième page
OriginalL'auteur vivek
Essayez ceci:
et il est dit sur la page de man pour
session_register
:This function has been DEPRECATED as of PHP 5.3.0. Relying on this feature is highly discouraged.
Ajouté session_register() et session_is_registered(). J'ai eu ce problème avec un ancien projet de la mine et cela semblait le fixer.
Je ne pense pas qu'il est inquiet au sujet de la validation de code à droite maintenant, pour être honnête.
cette solution est un non-sens complet. session_register('myvar"), registre $myvar et ne ferait rien pour le $_SESSION variable. aussi session_register() est obsolète et dans le manuel du également de vous dire ceci: Si vous utilisez $_SESSION (ou $HTTP_SESSION_VARS), ne pas utiliser de session_register(), session_is_registered(), et session_unregister().
OriginalL'auteur iamandrus