Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
991 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  free sessions(le rep est bien cree!)

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

free sessions(le rep est bien cree!)

n°997850
mdk_co
Posté le 02-03-2005 à 09:42:46  profilanswer
 

Bonjour,
j'ai un sacre probleme:
J'ai fait 2 sites:  
- un avec accès membre, qui fonctionne :) , l'an dernier qui est heberge chez free
- j'essaie d'en faire un autre dans le même genre mais j'ai des pbm avec les sessions :??: :
- marche tres bien en local
- j'ai cree le repertoire SESSIONS a la racine du site de FREE
- pour simplfier j'ai fait 2 scripts php:
 
start.php:
session_start();
$_SESSION['login']='jojo';
header("location:http://***.free.fr/mapage.php" );
exit();
 
et verif.php
session_start();
if(!isset($_SESSION['login'])) {
echo 'Vous n\'êtes pas autoriser à acceder à cette zone';
include('login.htm');
exit;
}
 
Dans mapage.php
je fais un include('verif.php'); au debut de la page....
 
J'ai bien acces a ma page mais voila ce qu'il affiche :cry: :
 
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/free.fr/7/***/mapage.php:2)
 
Si qqun peut m'aider...
 
Merci

mood
Publicité
Posté le 02-03-2005 à 09:42:46  profilanswer
 

n°997886
Xav_
The only one...
Posté le 02-03-2005 à 10:02:56  profilanswer
 

je vois pas à quoi serve les exit...
 
bon le pb c'est que dans start.php du fait  
$_SESSION['login']='jojo';  
et après dans ton verif.php tu refait un session_start, et il te dis que t'a pas le droit paske t'a déjà écris dans les variables de session avant...
 
Il te faut un seul session_start au tout début de ton script, si tu inclu plusieurs page, tu le place avant tout ça, et avant toute sortie HTML également...


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°997893
ratibus
Posté le 02-03-2005 à 10:07:51  profilanswer
 

Tu peux poster le code de mapage.php ?

n°997901
ratibus
Posté le 02-03-2005 à 10:11:09  profilanswer
 

Xav_ a écrit :

je vois pas à quoi serve les exit...
 
bon le pb c'est que dans start.php du fait  
$_SESSION['login']='jojo';  
et après dans ton verif.php tu refait un session_start, et il te dis que t'a pas le droit paske t'a déjà écris dans les variables de session avant...
 
Il te faut un seul session_start au tout début de ton script, si tu inclu plusieurs page, tu le place avant tout ça, et avant toute sortie HTML également...


Les exit sont très bien placés. Par exemple quand tu fais un header('Location: ton_url');, si tu fais pas de exit après, le script continue ;)
 
Tu as le droit de faire plusieurs session_start() :

Citation :

Note:  As of PHP 4.3.3, calling session_start() while the session has already been started will result in an error of level E_NOTICE. Also, the second session start will simply be ignored.


 
Le problème c'est ça (et c'est pour ça que je voudrais bien voir le code de mapage.php) :

Citation :

Note:  If you are using cookie-based sessions, you must call session_start() before anything is outputted to the browser.

n°997929
mdk_co
Posté le 02-03-2005 à 10:23:01  profilanswer
 

Merci pour les reponses aussi rapides...
 
Mapage.php
<?
include('verif.php');
 
?>
 
Blabla... (Rien que du txt)
 
<form method="post" action="kill.php">
<input type="submit" value="Kill it">
</form>
 
Le form a la fin sert simplement à fermer la session

n°997947
mdk_co
Posté le 02-03-2005 à 10:33:09  profilanswer
 

J'ai essayé a tout hazard de supprimer le exit() ? et le session_start() : je n'ai plus de message d'erreur... mais je n'ai plus acces a mapage.php ...
 
Ca sent la connerie du même genre que le rep sessions...

n°997948
skeye
Posté le 02-03-2005 à 10:33:54  profilanswer
 

mdk_co a écrit :

J'ai essayé a tout hazard de supprimer le exit() ? et le session_start() : je n'ai plus de message d'erreur... mais je n'ai plus acces a mapage.php ...
 
Ca sent la connerie du même genre que le rep sessions...


 

Xav_ a écrit :

je vois pas à quoi serve les exit...
 
bon le pb c'est que dans start.php du fait  
$_SESSION['login']='jojo';  
et après dans ton verif.php tu refait un session_start, et il te dis que t'a pas le droit paske t'a déjà écris dans les variables de session avant...
 
Il te faut un seul session_start au tout début de ton script, si tu inclu plusieurs page, tu le place avant tout ça, et avant toute sortie HTML également...


---------------
Can't buy what I want because it's free -
n°997982
mdk_co
Posté le 02-03-2005 à 10:50:30  profilanswer
 

Je ne comprends pas trop la derniere phrase de Xav_a:
start.php
session_start();
$_SESSION['login']='jojo';
header("location:http://***.free.fr/mapage.php" );  
 
mapage.php
include('verif.php'); au debut de la page....  
 
verif.php
if(!isset($_SESSION['login'])) {
echo 'Vous n\'êtes pas autoriser à acceder à cette zone';
include('login.htm');
}  
 
J'ai testé avec ces modifs: je n'ai plus accès a mapage.php
De plus j'ai trouvé des tas de tuto avec des start_sessions sur ttes les pages!
Soluce?...
Merci

n°997991
skeye
Posté le 02-03-2005 à 10:53:33  profilanswer
 

mdk_co a écrit :

Je ne comprends pas trop la derniere phrase de Xav_a:
start.php
session_start();
$_SESSION['login']='jojo';
header("location:http://***.free.fr/mapage.php" );  
 
mapage.php
include('verif.php'); au debut de la page....  
 
verif.php
if(!isset($_SESSION['login'])) {
echo 'Vous n\'êtes pas autoriser à acceder à cette zone';
include('login.htm');
}  
 
J'ai testé avec ces modifs: je n'ai plus accès a mapage.php
De plus j'ai trouvé des tas de tuto avec des start_sessions sur ttes les pages!
Soluce?...
Merci


 
Quand tu fais un include(), c'est comme si tu insérais à cet endroit le code de la page incluse...tu as donc là 2 session_start() dans la même.


---------------
Can't buy what I want because it's free -
n°998005
mdk_co
Posté le 02-03-2005 à 11:08:16  profilanswer
 

Marche toujours pas:
2 autres questions:
1/ header: n'est-ca pas une redirection?
2/ avec les scripts ci-dessous ie
a)start.php
<?
session_start();
$_SESSION['login']='jojo';
header("location:http://***.free.fr/mapage.php" );  
?>  
b)mapage.php
<?include('verif.php');  
?>
blabla...  
 
c)verif.php
C)
<?
if(!isset($_SESSION['login'])) {
echo 'Vous n\'êtes pas autorise à acceder à cette zone';
include('erreur.htm');
}  
?>
si j'ai bien compris ca devrait marcher, mais pbm:  
reagi comme si  $_SESSION['login'] n'existait pas
ie affiche la page erreur...
 
A force de faire des modif ca va finir par marcher ...
 
Encore merci...

mood
Publicité
Posté le 02-03-2005 à 11:08:16  profilanswer
 

n°998048
ratibus
Posté le 02-03-2005 à 11:32:41  profilanswer
 

Je pense que tu dois avoir un caractère parasite qui traine dans tes fichiers (d'où le message : output started at /var/www/free.fr/7/***/mapage.php:2).
 
Il ne faut aucun caractère en dehors des balises PHP avant l'appel à session_start().

n°998049
Xav_
The only one...
Posté le 02-03-2005 à 11:33:00  profilanswer
 

Citation :

Les exit sont très bien placés. Par exemple quand tu fais un header('Location: ton_url');, si tu fais pas de exit après, le script continue


 
ben pas sur du tour, si tu fous un header "ton_URL", ça va à "ton_URL" et le reste de ce qu'il y avait dans ta page ne va pas pouvoir se dérouler...
 
j'avais un form à une période, le visiteur choisissait 1,2 ou 3 dans une liste, puis submitait...
à la récup du form (dans la meme page, je faisait un header vers page1 ou page2 ou page3 selon la sélection...
ben ça a très bien marché et le reste du script (donc affichage du form) ne s'est jamais foutu en dessous de ma page1, page2 ou page3...
 
--> Tu le rédirige vers une autre page, ben il se barre et ne va pas exécuter ce qui reste dans celle-là...
 
pour ce qui est des "multiples" sessions_start... meme si la doc dit que ça va ne provoquer qu'un notice, ça reste quand meme à éviter... pour moi un notice reste tout de meme une erreur, sinon à quoi bon déclarer ses variables alors, suffit de masquer les notices... et vive la propreté du code...
 
En gros mdk_co, je suppose que tu utilise des pseudo-frames, ce que jefait, c'est que mon session_start et au début de ma page index.php, ensuite j'inclu mes pages, mais aucune de celle-ci n'a de session_start, car peu importe dans laquelle je suis, je sais qu'il a été annoncé avant l'inclusion... ;)
 
EDIT: et relis ce que j'avais dis aussi

Citation :

et avant toute sortie HTML également...


Message édité par Xav_ le 02-03-2005 à 11:35:21

---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°998052
ratibus
Posté le 02-03-2005 à 11:33:12  profilanswer
 

skeye a écrit :

Quand tu fais un include(), c'est comme si tu insérais à cet endroit le code de la page incluse...tu as donc là 2 session_start() dans la même.

Encore une fois ça ne pose pas de problème :)

n°998065
skeye
Posté le 02-03-2005 à 11:36:22  profilanswer
 

ratibus a écrit :

Encore une fois ça ne pose pas de problème :)


 
Tu as au moins droit à un warning.:o
Et ça n'a pas d'intérêt à priori.:o


---------------
Can't buy what I want because it's free -
n°998110
mdk_co
Posté le 02-03-2005 à 11:53:26  profilanswer
 

Bien, si j'ai bien compris ce qu'ecrit xav, avec le code du post precedent ca devrait fonctionner mais ca bloque: direct sur la page d'erreur , ne tient pas compte de la var de session! Le pire c'est que le code original tourne en local!
Ca marche pas mais j'en sais un peu plus sur le header et le include, vais bosser tout ca... Merci

n°998119
Xav_
The only one...
Posté le 02-03-2005 à 11:58:57  profilanswer
 

Citation :

si j'ai bien compris ce qu'ecrit xav, avec le code du post precedent ca devrait fonctionner


 
j'ai pas dis ça non plus...
 
dans mapage.php tu fait un include verif.php, qui vérifi, mais quand fait tu le "include star.php qui va déclarer la variable login ???
 
File nous un peu plus de code, qui appelle quoi et quand ??? (à moins que tu l'ai tout bien expliqué et que ce soit moi qui comprenne pas...)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°998133
mdk_co
Posté le 02-03-2005 à 12:08:33  profilanswer
 

J'ai un form tout simple dans index.html:
<form method="post" action="start.php">
<input type="submit" value="Start it">
 
start.php
<? session_start();
$_SESSION['login']='jojo';  
header("location:http://***.free.fr/mapage.php" );  
// exit(); [1]sert plus a rien;)
?>
   
mapage.php
<?include('verif.php');  ?>
blabla...  
 
verif.php
<?  
// start_session();  [2]sert aussi à rien?  
if(!isset($_SESSION['login'])) {
echo 'Vous n\'êtes pas autorise à acceder à cette zone';
include('erreur.htm');}  
?>
 
C'est le code complet!
J'ai fait des scripts de plusieurs pages qui fonctionnaient impec, celui-la il fait 10 lignes et ca m***e...
 
Merci de passer un peu de tps sur mon script à 2ct€(surtout que c'est la cle de voute de mon site!)...

n°998222
ratibus
Posté le 02-03-2005 à 13:52:24  profilanswer
 

Je viens de tester comme ça :
 
start.php :

Code :
  1. <?php
  2. session_start();
  3. $_SESSION['login']='jojo';
  4. header("Location: mapage.php" );
  5. exit();
  6. ?>


 
mapage.php :

Code :
  1. <?php
  2. include('verif.php');
  3. ?>
  4. OK


 
verif.php :

Code :
  1. <?php
  2. session_start();
  3. if(!isset($_SESSION['login'])) {
  4. echo 'Vous n\'êtes pas autoriser à acceder à cette zone';
  5. include('login.htm');
  6. exit;
  7. }
  8. ?>


 
 
Ca marche très bien, je vois bien le OK sur mapage.php

n°998223
ratibus
Posté le 02-03-2005 à 13:53:46  profilanswer
 

skeye a écrit :

Tu as au moins droit à un warning.:o
Et ça n'a pas d'intérêt à priori.:o


C'est un notice ;)
 
Et puis de toute façon dans le code qu'il a posté, à aucun moment session_start() est appelé 2 fois  :na:

n°998236
Xav_
The only one...
Posté le 02-03-2005 à 13:59:33  profilanswer
 

Citation :

Et puis de toute façon dans le code qu'il a posté, à aucun moment session_start() est appelé 2 fois  :na:


on est d'accord, mais je n'en était pas sur avant qu'il me mette son cheminement complte ;)
et je mantiens ce que j'ai dis sur les notices :na: aussi (humour inside)


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°998244
Xav_
The only one...
Posté le 02-03-2005 à 14:02:31  profilanswer
 

Citation :

Ca marche très bien, je vois bien le OK sur mapage.php


c'est cool
 
et juste par curiosité, tu peux tester ça en virant le exit que est dans start.php ???


---------------
- Xav - ...There are no crimes when there are no laws... -- Xav's World
n°998260
ratibus
Posté le 02-03-2005 à 14:07:37  profilanswer
 

Celui qui est dans le start ne sert à rien vu que je n'ai rien qui suit mon header() ;)

n°998305
mdk_co
Posté le 02-03-2005 à 14:28:52  profilanswer
 

Je ne sais pas si c'est free mais j'ai tjs ce WARNING alors qu'en local ca marche impec!
Ce ne serait pas une histoire de version php 3,4,5 ou que sais-je encore?
 Une question qui n'a presque plus rien à voir avec mon script: speciale ratibus, comment fais-tu pour ecrire le code dans un encadré (dans les posts) ?
C'est bien plus lisible...

n°998320
mdk_co
Posté le 02-03-2005 à 14:44:00  profilanswer
 

Ca marche mais je ne sais pas pourquoi...
Il y avait peut être un fichier buggé : j'ai tout effacé, tout reuploadé et c'est OK...
On va passer aux pseudo-Frames maintenant...
Merci A RATIBUS, XAV et SKEYE, à bientôt.

n°998324
ratibus
Posté le 02-03-2005 à 14:48:02  profilanswer
 

mdk_co a écrit :

Je ne sais pas si c'est free mais j'ai tjs ce WARNING alors qu'en local ca marche impec!
Ce ne serait pas une histoire de version php 3,4,5 ou que sais-je encore?
 Une question qui n'a presque plus rien à voir avec mon script: speciale ratibus, comment fais-tu pour ecrire le code dans un encadré (dans les posts) ?
C'est bien plus lisible...


Tu encadres ton code avec des balises cpp (essaie d'éditer mon message tu verras comment il est fait ;)).

n°998325
mdk_co
Posté le 02-03-2005 à 14:48:38  profilanswer
 

PS: j'ai fait une moidf c'etait peut-être ca?
location:http://***.free.fr/mapage.php => location:mapage.php
 
Ciao et merci

n°998327
mdk_co
Posté le 02-03-2005 à 14:52:51  profilanswer
 

Drolement bien fait ce forum...
Tout est OK...  

mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  free sessions(le rep est bien cree!)

 

Sujets relatifs
Encore une question sur les sessions[BASH] Fichier créé la veille
Sessions et cookie (encore, désolé)message d'erreur bien etrange
pb de sessions (Unknown column 'Array' in 'where clause' )[DREAM] pb de connection a sql.free.fr
[php] Probleme de conception - sessions/cookie&coutiliser fonction mail() chez free
Gestion des sessions utilisateurs tomcatExiste t-il des free wares du type flash ou dreamweaver
Plus de sujets relatifs à : free sessions(le rep est bien cree!)


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR