Probleme de session

Zebra1928 Messages postés 163 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 27 janvier 2016 - 5 sept. 2004 à 18:30
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 - 14 sept. 2004 à 17:44
hello all;

j'ai un vrai probleme avec les sessions, j'ai trouvé au forum la même question que la mienne mais malhereusement pas de réponse.

Warning: Cannot send session cache limiter - headers already sent (output started at c:\site_ispat\m\identification.php:1) in c:\Projet\verif_identification.php on line 2

mon code est le suivant:

<?
session_start();
//verif si le pseudo ou le login est vide::::,,,

if
( empty($login)or empty($pass))
{
echo "un des champs est vide, veuillez remplir les deux " ;
exit();
}
else
{
echo "les deux champs ne sont pas vides" ;

//ici si ce code fonctionne je dois mettre session_register("login");
//et le reste de mon code mais...

}

?>

c'est le plus simple des codes, pleeease help me..

@ -:)

Zebra

6 réponses

cs_windu Messages postés 282 Date d'inscription vendredi 16 mai 2003 Statut Membre Dernière intervention 19 juillet 2006
5 sept. 2004 à 18:38
c'es très simple:
tu ne peux pas faire appel à des fonctions tels que session_* après un "echo" (ou tout autre envoi vers le navigateur...)!!!
En clair: tu doit gérer tes inscriptions dans le tableau $_SESSIOn AVANT tout de demander l'affichage de quelque chose!
Ou sinon tu peux appeler la fonction ob_start au début (pour commencer à stocker dans un buffer), puis ton code tel que tu le montre sur ce forum (tu peux faire appel à la fonciton echo dans ce cas-là!), puis ob_flush pour envoyer le buffer vers le navigateur...

Autre chose: je te conseille d'utiliser $_SESSION[] plutot que session_register(): perso,j'ai souvent eu des pb avec cette dernière...

Que la Force soit avec toi, Jeune Padawan!!!
0
Zebra1928 Messages postés 163 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 27 janvier 2016
5 sept. 2004 à 18:41
mon probleme est que je n'est pas encore fais de session_register mais uniquement session_start();

session_register je l'ajoute dans le cas où ce petit code fonctionne.....

@ -:)

Zebra
0
cs_windu Messages postés 282 Date d'inscription vendredi 16 mai 2003 Statut Membre Dernière intervention 19 juillet 2006
5 sept. 2004 à 18:55
ouai mais ton session_register se retrouve dans le 'if'? et meme il se retrouve après "echo" donc pb!!
Les 2 seules solutions sont:
_ Pas de echo
_ utilisation des fonctions ob_start et ob_flush

Moi j'ai eu recours à un système qui en fait était le principe du ob_start/ob_flush: je créai une variable '$tabfinal' dans laquelle j'ajoutai le résultat de mon code au fur et à mesure de son exécution, puis j'affichai $tabfinal à la fin de mon code... Seulement je ne connaissai pas l'existence de ob_start, c'est pour ca que j'ai utilisé ce système...

Que la Force soit avec toi, Jeune Padawan!!!
0
Zebra1928 Messages postés 163 Date d'inscription jeudi 15 juillet 2004 Statut Membre Dernière intervention 27 janvier 2016
6 sept. 2004 à 10:42
je crois que j'ai mal exposé mon pb,,

mon programme et le suivant:
<?
session_start();
//verif si le pseudo ou le login est vide::::,,,

if
( empty($login)or empty($pass))
{
echo "un des champs est vide, veuillez remplir les deux " ;
exit();
}
else
{
echo "les deux champs ne sont pas vides" ;

}

?>

ce petit morceau ne fonctionne pas........?????
le suite je n'est pas encore faite, si cela ne fonctionne pas je ne peux pas continuer, je crois que cette fois c'est clair.....

@ -:)

Zebra
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_mfaraday Messages postés 144 Date d'inscription vendredi 18 avril 2003 Statut Membre Dernière intervention 4 janvier 2010
8 sept. 2004 à 10:47
Salut

Perso, je ne vois pas ou est le problème. En théorie ton code fonctionne parfaitement.

Juste un test peut-être :

<?
session_start();
?>

Fonctionne t-il tout seul ?

Sinon ça vient peut être de l'hébergement : Chez toi ? ou chez free/ multimania ou autre ?

Pasque chez free, il faut un rep sessions...

Mais je ne crois pas que cela vienne de la... mais c'est quand même à vérifier...

Voila

Florian
0
cs_Anthomicro Messages postés 9433 Date d'inscription mardi 9 octobre 2001 Statut Membre Dernière intervention 13 avril 2007 8
14 sept. 2004 à 17:44
Salut ;-)

Remplace
mon programme et le suivant:
<?
session_start();
//verif si le pseudo ou le login est vide::::,,,

if
( empty($login)or empty($pass))
{
echo "un des champs est vide, veuillez remplir les deux " ;
exit();
}
else
{
echo "les deux champs ne sont pas vides" ;

}

?>



par ça :

mon programme et le suivant:
<?
ob_start();
session_start();
//verif si le pseudo ou le login est vide::::,,,

if
( empty($login)or empty($pass))
{
echo "un des champs est vide, veuillez remplir les deux " ;
ob_end_flush();
exit;
}
else
{
echo "les deux champs ne sont pas vides" ;

}
ob_end_flush();
?>



a ++

http://www.vulgarisation-informatique.com : entraide, dépannage et vulgarisation informatique
0
Rejoignez-nous