|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | |
|
Nouveau Membre du Club
![]() Inscription : mai 2007 Messages : 177 ![]() |
Bonjour,
Voilà mon application fonctionnait bien puis j'ai du dans un formulaire ajouter un bouton submit. Du coup j'ai deux boutons Si le second est cliqué ça imprime la page Si le premier il "include" le traitement.php où dessuite après <?php il y a session_start(). Avant cela fonctionnait, c'est depuis que j'ai ajouté le bouton print que ça plante. Voilà mon erreur : Citation:
Merci d'avance |
|
|
|
00
|
|
|
#2 |
|
Membre habitué
![]() Inscription : mai 2007 Messages : 113 ![]() |
header already send, tu as déjà envoyer l'entete de ta page donc il ne peut pas commencer de session.
Envoie tout ton code. Max |
|
|
00
|
|
|
#3 | ||||
|
Nouveau Membre du Club
![]() Inscription : mai 2007 Messages : 177 ![]() |
Voilà mon formulaire à deux boutons :
Code :
Code :
|
||||
|
|
00
|
|
|
#4 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Ainsi ça ne marchera jamais : vous envoyez la plus grande partie du contenu du document (code HTML) avant l'inclusion du fichier TreatModify.php qui comporte l'appel à session_start.
La solution serait, peut être, de déplacer ce session_start tout en haut du script qui l'appelle ... |
|
|
00
|
|
|
#5 |
|
Nouveau Membre du Club
![]() Inscription : mai 2007 Messages : 177 ![]() |
ok enfait mon session_start se fait au tout début, à l'authentification. Mais le problème c'est qu'il faut que je récupère les $_SESSION['Name'] et $_SESSION['Profile'] dans mon treatModify.php. Il faut donc que je fasse passer ces variables dans tous mes documents où y a t il un autre moyen de les récupérer ?
|
|
|
00
|
|
|
#6 |
|
Nouveau Membre du Club
![]() Inscription : mai 2007 Messages : 177 ![]() |
J'ai regardé et apparemment avec mon utilisation puisque j'utilise un session_start au début je devrais pouvoir accès aux variables globales $_SESSION partout, mais évidemment ça ne fonctionne pas. Il me dit qu'il ne connait pas les variable $_SESSION.
J'utilise EasyPhp 1.8 PHP 4.3.10 sous Internet Explorer 6.0 svp aidez moi !! |
|
|
00
|
|
|
#7 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Si vous faites l'appel à session_start dans un script qui en inclue un ou plusieurs autres, les scripts inclus auront également accès à la session.
Commencez par chercher dans le script qui fait les affectations aux variables de session ($_SESSION['X'] = quelque chose;) puisque apparemment elles ne sont pas faites dans ceux que vous montrez. Tester éventuellement la bonne transmission de ces variables de session en ajoutant un simple print_r($_SESSION) à la fin et au début (après session_start quand même) de vos scripts (vous pouvez exclure ceux qui ne sont pas appelés explicitement - ie par inclusion). Un conseil : testez que vos variables de session existent avant de les utiliser (via la fonction isset). |
|
|
00
|
|
|
#8 |
|
Nouveau Membre du Club
![]() Inscription : mai 2007 Messages : 177 ![]() |
Voilà mon enchainement de script :
TreatIdentification.php-> BannerPage.php-> Search.html -> Results.php -> Results.html -> Result.php -> Modify.php -> Modification.php -> TreatModify.php J'ai trouvé un gros problème. Dans mon Result.php si j'insère un print_r($_SESSION) il me met l'erreur : Notice: Undefined variable: _SESSION in c:\home\easyphp1-8\www\result.php on line 64 Mais si je mets en en-tête <? session_start() ?> alors il fonctionne Mais dans Search.html m'écrit : Notice: A session had already been started - ignoring session_start() in c:\home\easyphp1-8\www\Result.php on line 2 Array ( [Name] => Bardaji [Profile] => Airbus ) Donc dans que je fasse un truc où l'autre j'ai toujours une erreur ... Ensuite j'arrive jusqu'au TreatModify.php il y a l'erreur undifined variable $_SESSION et si je lui inclus un session_start il trouve les variable mais m'écrit avant : Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at c:\home\easyphp1-8\www\modification.php:2) in c:\home\easyphp1-8\www\TreatModify.php on line 2 Je ne vois pas trop comment arranger ça ... Ah oui TreatModify inclut Search.php puis qui inclut lui même Search.html sans session_start() ils ne reconnaissent pas non plus les variables sinon avec le session_start() ça m'affiche toutes les variables sans warning |
|
|
00
|
|
|
#9 |
|
Nouveau Membre du Club
![]() Inscription : mai 2007 Messages : 177 ![]() |
Où peut on vérifier que la variable register_globals est à On ?? Je travaille avec Easy php 1.8 et PHP 4.3.10 ça ne peut pas venir de ça ?
|
|
|
00
|
|
|
#10 |
|
Nouveau Membre du Club
![]() Inscription : mai 2007 Messages : 177 ![]() |
Est ce qu'il doit y avoir un seul session_start() dans tous les scripts ?
|
|
|
00
|
|
|
#11 |
|
Nouveau Membre du Club
![]() Inscription : mai 2007 Messages : 177 ![]() |
Est ce que ça ne poserait pas problème quand je recharge ma page Result.php par hasard.
J'ai fait l'arborescence de mes enchainements de script. Quand je suis dans ma recherche et que je soumets (donc c'est un formulaire) à la page d'après je n'ai plus mes variables de session. Pour palier à ce problème si je mets un session_start au début de Results.php il retrouve les mêmes variables de session. Seulement je ne pense pas que ça soit très correct de mettre plusieurs session_start(); si ?? Une fois ce session_start() mis en place. Je suis donc sur une page de recherche et pour chaque résultat il y a deux petits boutons soit pour modifier soit pour supprimer. Quand je clique sur l'un d'eux Result.php qui est rechargé pour analyser le clic de l'utilisateur présente a nouveau des problèmes tout comme Modify.php et Delete.php Si à ce moment là je mets un session_start() au début de Result.php ça refonctionne mais cependant sur ma page de résultat donc juste après mon form qui inclut Results.php qui inclut lui-même Results.html et qui lui-même inclut Result.php : Notice: A session had already been started - ignoring session_start() in c:\home\easyphp1-8\www\Result.php on line 2 Et pour finir quand je suis sur ma page de modification ( si on choisit de cliquer sur le bouton adapté pour la page de résultat de recherche) et que je clique sur Ok grâce au form ça va dans TreatModify.php qui à nouveau me dit qu'il ne reconnait pas les variables $_SESSION. Ce .php inclut Search.php qui du coup ne les reconnait pas non plus. En gros ya trois endroits où ces variables ne veulent pas passer ! |
|
|
00
|
|
|
#12 |
|
Nouveau Membre du Club
![]() Inscription : mai 2007 Messages : 177 ![]() |
C'est bon j'ai trouvé réponse à mon problème seul un tout petit subsiste donc je résouds ce problème et si j'y arrive, je RESOLUerais ce post
|
|
|
00
|
Copyright © 2000-2012 - www.developpez.com