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

  FORUM HardWare.fr
  Programmation
  PHP

  probleme include et session

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

probleme include et session

n°1520277
lylou007
Posté le 26-02-2007 à 16:43:23  profilanswer
 

Bonjour,
Voila j'essaye de faire une partie administration avec identification. Je midentifie et tout se passe bien pour aller sur la page suivante.  
Seulement, les pages intérieures contiennent des include et dès que je clique sur un lien pour accéder à ce include je retourne a l'identification.
Voici une partie du code de la page avec les liens :  
 

Code :
  1. <? session_start(); //ouverture de session
  2. $log=$_POST['login']; //définition des variables
  3. $pswd=$_POST['password'];
  4. $_SESSION['login']=$log;
  5. $_SESSION['password']=$pswd;
  6. if (!@isset ($_SESSION['login'])) // si la variable de session n'existe pas
  7. {echo "Veuillez vous identifier s'il vous plait<br>";
  8. require ("administration1.php" ); // on retourne à la page d'administration1 pour s'identifier
  9. exit();}
  10. ?>
  11. ...
  12.   <li>Gestion des administrateurs
  13.     <ol>
  14.       <li><a href="administration2'.php?section=Aadmin">Ajout d'un administrateur</a></li>
  15.       <li><a href="administration2'.php?section=Madmin">Modification d'un administrateur</a></li>
  16.       <li><a href="administration2'.php?section=Sadmin">Suppression d'un administrateur</a></li>
  17.     </ol>
  18.   </li>
  19. </ul>
  20. <div class="contenu">
  21. <?
  22. if ($_GET['section']==('Agal'||'Mgal'||'Sgal')){
  23. include ("Ggaleries.php" );}
  24. if($_GET['section']==('Cexpo'||'Aexpo'||'Mexpo'||'Sexpo')){
  25. include ("Gexpositions.php" ); }
  26. if ($_GET['section']==('Apresse'||'Spresse')){
  27. include ("Gpresse.php" );}
  28. if ($_GET['section']==('Aadmin'||'Madmin'||'Sadmin')){
  29. include ("Gadmin.php" );}
  30. echo '</div>';  ?>
  31. </div>


 
 
et voila le debut du code de la page incluse: "administration2'.php?section=Aadmin" :  

Code :
  1. <? session_start(); //ouverture de session
  2. $_SESSION['login'];
  3. $_SESSION['password'];
  4. if (!@isset ($_SESSION['login'])) // si la variable de session n'existe pas
  5. {echo "Veuillez vous identifier s'il vous plait<br>";
  6. require ("administration1.php" ); // on retourne à la page d'administration1 pour s'identifier
  7. exit();}
  8. ?>


...
 
 
Pouvez vous m'aider s'il vous plait!!!! :( c'est pour un projet très important!!!


Message édité par lylou007 le 27-02-2007 à 10:13:10
mood
Publicité
Posté le 26-02-2007 à 16:43:23  profilanswer
 

n°1520343
chani_t
From Dune
Posté le 26-02-2007 à 17:36:46  profilanswer
 

déjà les short tags, c'est pas beau...
 
et puis pourquoi insérer du php dans le html, alors que finalement ta page s'appel bien.... . php nan ?
(fais un source PHP, et des echos pour le html.)

n°1520393
lylou007
Posté le 26-02-2007 à 18:08:10  profilanswer
 

c'est quoi les short tags. De toute facon ca revient au même de mettre des echo partout ou bien d'inclure du php dans du html. c'est pas la question la... j'aimerais savoir comment résoudre le problème entre les include et les sessions. Merci

n°1520397
anapajari
s/travail/glanding on hfr/gs;
Posté le 26-02-2007 à 18:16:17  profilanswer
 

normal sur les autres pages(qui sont en fait le même script php) tu ne reçois plus le login en POST [:spamafote]
edit: et vu ce que tu en fais sur les 3  premières lignes ça risque pas de marcher...


Message édité par anapajari le 26-02-2007 à 18:16:43
n°1520467
lylou007
Posté le 26-02-2007 à 19:13:58  profilanswer
 

ba j'ai mis le login en variable de session donc il est present pour n'importe quelle page de la session il y a plus besoin de mettre $_POST['login'];
j'ai un autre script sans include où ca marche très bien avec cette écriture la. C'est la fait qu'il y ai une page en include qui fait que ca marche plus

n°1520667
chani_t
From Dune
Posté le 27-02-2007 à 08:38:55  profilanswer
 

Les shorts tags ce sont <? ?>... au lieu de <?php  
 
et puis utiliser les echos, te permet aussi de t'affranchir de certain soucis de passage d'informations entre tes scripts... parce qu'aprés tout quand tu ferme le tag php, et que tu en ouvre un autre... je ne sais pas comment réagis le serveur php, mais il serait logique qu'il prenne ça comme un nouveau script..

n°1520682
anapajari
s/travail/glanding on hfr/gs;
Posté le 27-02-2007 à 09:23:01  profilanswer
 

lylou007 a écrit :

ba j'ai mis le login en variable de session donc il est present pour n'importe quelle page de la session il y a plus besoin de mettre $_POST['login'];
j'ai un autre script sans include où ca marche très bien avec cette écriture la. C'est la fait qu'il y ai une page en include qui fait que ca marche plus


Sauf que si chaque fois tu fais:

Code :
  1. $log=$_POST['login']; //définition des variables
  2. $pswd=$_POST['password'];
  3. $_SESSION['login']=$log;
  4. $_SESSION['password']=$pswd;


Il risque pas de conserver la valeur qui était dans la session [:spamafote]

n°1520710
lylou007
Posté le 27-02-2007 à 09:57:36  profilanswer
 

non je fais pas    
1.
      $log=$_POST['login']; //définition des variables
   2.
      $pswd=$_POST['password'];
   3.
      $_SESSION['login']=$log;
   4.
      $_SESSION['password']=$pswd;
 
je fais ca pour la première page puis ensuite pour chaque page intérieure je met juste
$_SESSION['login'];
$_SESSION['password'];
comme tu peux voir.
 
Proposez moi des solutions svp... plutot que de me dire seulement ce qui ne va pas, je ne sais pas quoi faire la

n°1520721
anapajari
s/travail/glanding on hfr/gs;
Posté le 27-02-2007 à 10:06:07  profilanswer
 

lylou007 a écrit :

non je fais pas  ...


Si [:spamafote] ou alors c'est pas le bon code que tu montres ...

Code :
  1. session_start(); //ouverture de session
  2. $log=$_POST['login']; //définition des variables
  3. $pswd=$_POST['password'];
  4. $_SESSION['login']=$log;
  5. $_SESSION['password']=$pswd;
  6. if (!@isset ($_SESSION['login'])) // si la variable de session n'existe pas
  7. {echo "Veuillez vous identifier s'il vous plait<br>";
  8. require ("administration1.php" ); // on retourne à la page d'administration1 pour s'identifier
  9. exit();}
  10. ...
  11. if ($_GET['section']==('Agal'||'Mgal'||'Sgal')){
  12. include ("Ggaleries.php" );}
  13. if($_GET['section']==('Cexpo'||'Aexpo'||'Mexpo'||'Sexpo')){
  14. include ("Gexpositions.php" ); }
  15. if ($_GET['section']==('Apresse'||'Spresse')){
  16. include ("Gpresse.php" );}
  17. if ($_GET['section']==('Aadmin'||'Madmin'||'Sadmin')){
  18. include ("Gadmin.php" );}


et la je te le redis, tu vides le login stocké dans la session si tu ne le reçois pas en post.

n°1520728
lylou007
Posté le 27-02-2007 à 10:10:19  profilanswer
 

voila la deuxième page appelée par le include :  
 

Code :
  1. <? session_start(); //ouverture de session
  2. $_SESSION['login'];
  3. $_SESSION['password'];
  4. if (!@isset ($_SESSION['login'])) // si la variable de session n'existe pas
  5. {echo "Veuillez vous identifier s'il vous plait<br>";
  6. require ("administration1.php" ); // on retourne à la page d'administration1 pour s'identifier
  7. exit();}
  8. ?>


 
je ne remodifie pas la variable. Peux etre que je ne comprend pas où tu veux en venir. Ce que tu me montre est la première page dans lequel il y a la page de contenu (include...).

Message cité 1 fois
Message édité par lylou007 le 27-02-2007 à 10:13:34
mood
Publicité
Posté le 27-02-2007 à 10:10:19  profilanswer
 

n°1520736
anapajari
s/travail/glanding on hfr/gs;
Posté le 27-02-2007 à 10:17:27  profilanswer
 

lylou007 a écrit :

je ne remodifie pas la variable. Peux etre que je ne comprend pas où tu veux en venir. Ce que tu me montre est la première page dans lequel il y a la page de contenu (include...).


[:blessure] Je le tente un dernière fois...
T'as page principale qui contient les includes est executée à chaque fois, à chaque execution elle include un fichier certes.  
Mais les 4 premières lignes de cette page principale sont TOUJOURS executées, et donc tu vides ta session dès que tu ne reçois plus de paramètres en POST.

n°1520740
lylou007
Posté le 27-02-2007 à 10:19:51  profilanswer
 

ah ok! j'ai compris lol. Merci pour ta patience :)
Comment je peux faire pour déclarer ma variable la première fois et après que ca marche bien sans vider la variable session à chaque fois.  
Merci

n°1520749
anapajari
s/travail/glanding on hfr/gs;
Posté le 27-02-2007 à 10:37:10  profilanswer
 

Je ferais un truc dans le genre:

Code :
  1. session_start();
  2. if ( isset($_POST['login']) && ! empty($_POST['login'])){
  3.   $_SESSION['login']=$_POST['login'];
  4.   $_SESSION['password']=$_POST['password'];
  5. }
  6. /*** la suite ... ***/


Message édité par anapajari le 27-02-2007 à 10:37:24
n°1520759
lylou007
Posté le 27-02-2007 à 10:45:31  profilanswer
 

cette fois ci ca ne marche plus du tout. Il ne reconnait plus le login et le mot de passe. Il me met toujours que le login ou mot de passe est incorrect..

n°1520761
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 27-02-2007 à 10:46:37  profilanswer
 

juste une remarque annexe : pourquoi mettre le mot de passe en session ? Manque de sécurité, potentiellement...

n°1520762
lylou007
Posté le 27-02-2007 à 10:48:03  profilanswer
 

si c bon jme suis trompé ca marche! merci beaucoup pour ton aide :)


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

  probleme include et session

 

Sujets relatifs
Problème avec sous dossier...probleme de z-index ???
probleme d'affichage avec internet explorerProblème de code VBA
probleme d'envoi d'une variable avec getProblème encodage des caractères et xml_http_request
[RESOLU]PHP et MySQL problème avec des boucles!![VB.NET] Problème au déploiement d'une appli avec Winsock
Administration: probleme Session & Include[PHP] session + include = probleme
Plus de sujets relatifs à : probleme include et session


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