Précédent   Forum des professionnels en informatique > PHP > Langage > Sessions
Sessions Forum d'entraide sur les sessions avec PHP. Avant de poster -> FAQ sessions, Cours sessions et Sources sécurité
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 24/04/2006, 14h51   #1
Membre Expert
 
Avatar de GLDavid
 
Inscription : janvier 2003
Messages : 2 620
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2003
Messages : 2 620
Points : 2 474
Points : 2 474
Par défaut Regénérer un id

Bonjour

Voilà mon problème, peut-être très simple. A partir de mes pages PHP, je crée des répertoires qui ont comme nom l'identifiant de la session. Par cette méthode, j'espère avoir des noms de répertoires uniques et permettre une traçabilité.
Petit problème, le cas où le nom existe déjà. Alors, je veux pouvoir générer un nouvel id pour la session.
Pour ce faire :
Code :
1
2
3
4
 
if(file_exists("./data/".$args->session)){
         $args->session = session_regenerate_id(true);
     }
Seulement, dans ce cas, PHP me renvoit le warning suivant :
Code :
1
2
Warning:  session_regenerate_id(): Cannot send session cookie - headers already sent by
Donc, comment faire pour regénérer correctement l'id d'une session ?
Merci d'avance de votre aide.

@++
__________________
GLDavid
Consultez la FAQ Perl ainsi que mes cours de Perl.
N'oubliez pas les balises code ni le tag

Je ne répond à aucune question technique par MP.
GLDavid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2006, 15h06   #2
Invité régulier
 
Inscription : avril 2005
Messages : 14
Détails du profil
Informations forums :
Inscription : avril 2005
Messages : 14
Points : 7
Points : 7
Tu dois avoir une instruction qui affiche du texte avant de balancer l'en-tête http.
rystio est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2006, 15h19   #3
Membre Expert
 
Avatar de GLDavid
 
Inscription : janvier 2003
Messages : 2 620
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2003
Messages : 2 620
Points : 2 474
Points : 2 474
Salut

Euh, justement, non, du moins, il ne me semble pas. Voici mon code:
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
 
<?php
@session_start();
require ("arguments.php");
/*
 * Created on 21-avr.-2006
 *
 * To change the template for this generated file go to
 * Window - Preferences - PHPeclipse - PHP - Code Templates
 */
 $args = new Arguments();
 
 //Initiates the session_id.
 $args->setSession(session_id());
 
 //Initiates the sequence file and working repertory
 if(isset($_POST["sequence"]) && $_POST["sequence"]!=""){
     /*if(file_exists("./data/".$args->session)){
         $args->session = session_regenerate_id(true);
     }*/
     if(!mkdir ("./data/".$args->session)){
         echo "<div class=\"error\">Error with repertory !<br />Please contact the <a href=\"mailto:david@toto.be\">administrator</a> !</div>";
     }
Merci encore de vos réponses.

@++
__________________
GLDavid
Consultez la FAQ Perl ainsi que mes cours de Perl.
N'oubliez pas les balises code ni le tag

Je ne répond à aucune question technique par MP.
GLDavid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2006, 15h24   #4
Membre Expert
 
Avatar de GLDavid
 
Inscription : janvier 2003
Messages : 2 620
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2003
Messages : 2 620
Points : 2 474
Points : 2 474
C'est bon, j'ai trouvé, il me suffisait d'ajouter ça en effet dans les balises head :
Code :
1
2
3
4
5
6
7
 
<?
@session_start();
if(file_exists("./data/".session_id())){
    session_regenerate_id(true);
}
?>
@++
__________________
GLDavid
Consultez la FAQ Perl ainsi que mes cours de Perl.
N'oubliez pas les balises code ni le tag

Je ne répond à aucune question technique par MP.
GLDavid est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2006, 15h24   #5
Membre expérimenté
 
Inscription : octobre 2004
Messages : 872
Détails du profil
Informations forums :
Inscription : octobre 2004
Messages : 872
Points : 582
Points : 582
salut

fais nous voir le message d'erreur complet, il suffit d'un espace avant ou apers une balise php, verifie ton fichier argument.php
jeff_! est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 24/04/2006, 15h27   #6
Membre Expert
 
Avatar de GLDavid
 
Inscription : janvier 2003
Messages : 2 620
Détails du profil
Informations personnelles :
Âge : 35

Informations forums :
Inscription : janvier 2003
Messages : 2 620
Points : 2 474
Points : 2 474
T'inquiètes pas jeff ! J'ai trouvé

@++
__________________
GLDavid
Consultez la FAQ Perl ainsi que mes cours de Perl.
N'oubliez pas les balises code ni le tag

Je ne répond à aucune question technique par MP.
GLDavid est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 11h07.


 
 
 
 
Partenaires

Hébergement Web