Flux rss
Collection CommentÇaMarche.net
Rechercher : dans
Par :

[PHP][session] Problème avec les fichiers

Simon, le samedi 14 octobre 2006 à 22:39:45 
 Signaler ce message aux modérateurs

Bonjour à tous,

J'ai configuré PHP de façon à ce qu'il me créer des fichiers dans un répertoire "tmp" pour les sessions. J'ai deux pages pourtant bien simples:

index.php:

<?php
	session_start();
	$_SESSION['test'] = "qqch";
	echo "<a href=\"index2.php\">index2</a>";
?>


index2.php:
<?php
	session_start();
	echo $_SESSION['test'];
?>


Rien ne fonctionne (je ne vois jamais ce qu'il y a dans ma variable "test" à la page index2.php) mais j'ai remarqué qu'à chaque fois que j'actualise une page (un appel de session_start() se fait donc), je me retrouve avec un fichier de session de plus dans mon répertoire "tmp".

C'est comme si PHP ne pouvait pas détecter qu'une session existe et en créer toujours une nouvelle...

Merci d'avance pour votre aide, j'ai parcouru tous les forums possibles sans résultat...

1

Ssylvainsab, le samedi 14 octobre 2006 à 23:06:49

Bonsoir.

Peut-être que c'est parce que tu mets session_start après le code html ?

Sinon, je ne comprends pas pourquoi tu as configuré PHP pour stocker les sessions dans le répertoire temp.
Pourquoi faire compliqué quand on peut faire simple ?

Ton problème vient peut-être de la, on ne sait jamais.

a plus
Sylvain

Répondre à Ssylvainsab

2

Simon, le dimanche 15 octobre 2006 à 00:08:39

Bonsoir,

Je sais que session_start(); doit être la première sortie vers le navigateur et c'est pourquoi j'ai épuré le code au maximum de mes 2 pages pour pouvoir éventuellement isoler le problème. Donc, le code que je vous ai montré initialement c'est tout le code que mes pages contiennent. Je sais que ce n'est pas très propre parce que je n'ai pas mes balises <html></html>, etc mais j'ai aussi essayé avec ces balises en m'assurant que session_start() soit la première commande dans mes deux pages.

Pour ce qui est du choix pour le stockage des sessions, le php.ini est configuré par défaut pour stocker les sessions sous forme de fichiers ("session.save_handler = files"). J'ai uniquement changé le chemin par défaut du session.save_path ("/tmp", qui ne fonctionnait vraisemblablement pas parce que je crois que c'est le type d'arborescence qu'utilise Linux), pour "C:\PHP\tmp".

Après avoir ouvert la page index.php, un fichier de session contenait bien le résultat de ma variable de session "test" (soit: "test|s:4:"qqch";"). Après avoir cliqué sur le lien qui mène à la deuxième page, un autre fichier de session est créé mais vide cette fois-ci.

Merci pour votre première réponse si rapide! J'espère vraiment pouvoir régler ce problème.

Répondre à Simon

3

Ssylvainsab, le dimanche 15 octobre 2006 à 10:32:46

Peut-être que c'est parce qu'en local, on ne peut pas utiliser toutes les fonctions....

Avec easy PHP en local, je n'arrive pas a utiliser require.

J'ai placé les fichiers index.php et index2.php ic :
sylvain.sab.free.fr/autres/ccmsdz/pbsession/

Je n'ai pas encore regardé ce que ca donne.

EDIT : ca marche.
"qqch" s'affiche bien sur index2 Sylvain

Répondre à Ssylvainsab

4

 Simon, le vendredi 20 octobre 2006 à 02:27:52

Wow! Merci pour cette dernière recommandation, ça fonctionne!

J'ignore pourquoi mais en local, l'attribution de variables de session ne semble pas fonctionner correctement. J'ai placé les deux pages PHP sur un autre poste et en y accédant via le premier poste, tout fonctionne!

Merci à vous d'avoir proposé cette piste!

Répondre à Simon
PHP - Les fichiers La gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier... www.commentcamarche.net/contents/php/phpfich.php3
PHP et fichiers texte Bonjour à tous, je travaille en PHP et je souhaite insérer une ligne dans un fichier texte immédiatement après une certaine ligne connue grace au mot qu'elle contient. J'ai un peu de mal à insérer à l'endroit voulu... Quelqu'un aurait-il une solution?... www.commentcamarche.net/forum/affich-2366188-php-et-fichiers-texte
[php]Import fichier .txt dans BDD Mysql Bonjour, je suis en stage au service informatique du contre espionnage français et je cherche une solution pour importer un fichier texte en php. Avec une mise à jour toute les 6 h. Voici l'adresse: http://www.satcodx1.com/_data/0130.txt Il contient... www.commentcamarche.net/forum/affich-2211220-php-import-fichier-txt-dans-bdd-mysql
[PHP] Upload de fichiersLe langage PHP permet de gérer des fichiers envoyés (uploadés) grâce à un formulaire HTML. Formulaire d'envoi de fichiers Configuration de PHP pour permettre l'upload Récupération du fichier avec PHP Formulaire d'envoi de fichiers La... www.commentcamarche.net/faq/sujet-889-php-upload-de-fichiers
Comment lire un fichier ligne par ligneComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier... www.commentcamarche.net/faq/sujet-5027-comment-lire-un-fichier-ligne-par-ligne
[PHP - SESSION] Tableau en session / PANIERBonsoir, Je m'adresse à vous car j'ai un gros problème sur un site. Dans un de mes scripts PHP je manipule un tableau stocké en session afin d'y ajouter / retirer des éléments. Voici le code permettant d'ajouter un élément s'il n'est pas présent... www.commentcamarche.net/forum/affich-3281240-php-session-tableau-en-session-panier
Transfert variable PHP vers fichier .JS ???Salut à tous, G un pti prb, ;-) Comment faire pour utiliser dans un fichier javascript (fichier.js) une variable php ($nom) tirée d'une page .php ? C ptet une question béte, mé G pas trouvé :-( Merci de votre aide. Gilles. www.commentcamarche.net/forum/affich-214440-transfert-variable-php-vers-fichier-js
Script php listant fichier d'un répertoire (Résolu)Voila bonjour je cherche un script qui liste les fichiers d'un répertoire MAIS AVEC LE : http://monsite.com/dossier_en_question/ exemple: http://monsite.com/dossier_en_question/patatipatata.exe merci et j'espere que quelqu'un ma compris www.commentcamarche.net/forum/affich-1893313-script-php-listant-fichier-d-un-repertoire
PHP - Récupération de donnéesPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des... www.commentcamarche.net/contents/php/phpform.php3
PHP - Parser du XMLIntroduction à XML PHP permet l'analyse syntaxique (parsage ou parsing en anglais) d'un document XML. Le langage XML (eXtensible Markup Language, traduisez Langage à balises extensibles) est un métalangage, c'est-à-dire un langage permettant de... www.commentcamarche.net/contents/php/phpxml.php3