[Probleme] Passer une variable dans un include (sans sql serveur)

Passer une variable dans un include (sans sql serveur) [Probleme] - PHP - Programmation

Marsh Posté le 05-03-2005 à 03:51:53    

Suite à 3 heures de recherches et de tests sur cette gentille petite fonction include et le passage de variable.. j'en viens à désespérer.. n'étant pas super doué en php, ni en html tout court,  je réclame votre indulgence :/ laissez-moi vous expliquer mon souci :
 
 
Problème :
 
J'ai une page "index.php" qui contient une variable "$p" dans un include :
 

Code :
  1. include '$p.php';


 
Dans une seconde page "menu.php", j'ai un lien qui est censé envoyer une valeur pour cette variable "$p" :
 

Code :
  1. <a href='index.php?$p=Accueil'>Accueil</a>


 
 
Contrainte :
 
Je voudrais qu'en cliquant sur le lien de la page "menu.php" (qui est elle-aussi en include dans index.php), que la page "index.php" soit rechargée avec la variable "$p" ayant la valeur Accueil (dans ce cas là, mais la variable $p prendra également d'autres valeur, suivant les liens sur lesquels on click).
 
Je remercie tout ceux qui liront mon message de détresse et tenteront de m'apporter quelque réponse que ce soit, merci à vous. :)
 
Ps: J'ai tenté de chercher sur le forum un message identique, j'ai bien vu une histoire de variable de session, mais je ne voudrait pas passer par un serveur sql :/
J'ai également testé dans"index.php" :$

Code :
  1. include '$_GET['p'].php';


Mais rien n'y fait.. je n'emploi certainement pas la bonne syntaxe.


Message édité par ZADred le 05-03-2005 à 16:15:51
Reply

Marsh Posté le 05-03-2005 à 03:51:53   

Reply

Marsh Posté le 05-03-2005 à 04:37:37    

Excusez-moi, je viens de trouver la solution, il fallait rajouter dans le fichier "index.php" :
 

Code :
  1. if(isset($_GET['p']))
  2. {
  3. if(($_GET['p'])<>'0')
  4. {
  5.  include $_GET['p'].'.php';
  6. }
  7. }
  8. else
  9. {
  10.  include 'Accueil.php';
  11. }
  12. $p='0';


 
 
 
Je présente mes excuses aux modérateurs, qui pourront supprimer le message s'ils le jugent encombrant, voir inutile. Merci également aux 9 visiteurs qui auront pris le temps de lire mon appel au secours.


Message édité par ZADred le 05-03-2005 à 04:48:04
Reply

Marsh Posté le 05-03-2005 à 09:55:25    

$p=0 est inutile
 
de plus, cette méthode est très vulnérable à la fameuse faille d'include
 
utilise plutôt un switch


---------------
What if I were smiling and running into your arms? Would you see then what I see now?  
Reply

Marsh Posté le 05-03-2005 à 16:18:55    

jagstang a écrit :

$p=0 est inutile
 
de plus, cette méthode est très vulnérable à la fameuse faille d'include
 
utilise plutôt un switch


 
Merci beaucoup de cette information, j'ai donc tenté un switch mais rien n'y fait... ma variable est à chaque fois concaténée, et j'obtiens au final la page Accueil suivie des autres pages sur lesquelles le visiteur est passé. Pourrais-tu m'indiquer comment réinitialiser cette variable ? Je pensais qu'en lui donnant une valeur aléatoire (telle que 0) celà remplacerait le contenu de la variable par un 0, mais ce n'est pas le cas, il ajoute le 0 à la suite de la variable. Je suis perdu..
 

Code :
  1. $x= $_GET['p'];
  2. switch ($x) {
  3. case 'Accueil': include'Accueil.php';
  4. case 'Nouvelles': include'Nouvelles.php';
  5. case 'Livreor': include'Livreor.php';
  6. case 'Webmestre': include'Webmestre.php';
  7. default: include'Accueil.php';
  8. }
  9. $x='0';

Reply

Marsh Posté le 05-03-2005 à 16:26:37    

http://www.nexen.net/docs/php/anno [...] ien=switch
 
Ils sont passé où les break?

Code :
  1. <?php
  2. $x= $_GET['p'];
  3. $nombre=2;
  4. switch ($x) {
  5. case "4x":
  6.     $nombre=$nombre*2;
  7. case "2x":
  8.     $nombre=$nombre*2;
  9.     break;
  10. case "0":
  11.     $nombre=0;
  12.     break;
  13. }
  14. echo $nombre;
  15. ?>

Essaye les trois conditions de ce script si t'arrive pas à comprendre l'utilité du break.

Reply

Marsh Posté le 05-03-2005 à 16:32:25    

j'ai cru que j'allais faire une attaque en voyant les deux premier posts...


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 05-03-2005 à 16:52:31    

Merci beaucoup, oui effectivement je ne me souvenais plus du break :(
 
Pour répondre à KangOl, comme je l'ai expliqué, si je viens poser mes questions sur cette partie du forum c'est parce que je débute en php, et je n'ai pas autant de connaissance que le tiers des personnes de ce forum.. désolé si pour toi mon code était une abbhération, j'essaye de m'en sortir comme je peux avec les documentations dont je dispose :/ Désolé...

Reply

Marsh Posté le 05-03-2005 à 17:09:15    

oui mais le index.php?$p=Accueil quand meme...


---------------
Nos estans firs di nosse pitite patreye...
Reply

Marsh Posté le 05-03-2005 à 18:53:41    

ZADred a écrit :

Merci beaucoup, oui effectivement je ne me souvenais plus du break :(
 
Pour répondre à KangOl, comme je l'ai expliqué, si je viens poser mes questions sur cette partie du forum c'est parce que je débute en php, et je n'ai pas autant de connaissance que le tiers des personnes de ce forum.. désolé si pour toi mon code était une abbhération, j'essaye de m'en sortir comme je peux avec les documentations dont je dispose :/ Désolé...


 
Fais les tutoriaux de phpdebutant.org
 
Télécharge la doc de php au format .chm (très pratique pour les recherches) sur php.net ;)
 
On a tous débuté un jour. Vu que tu ne demandes pas qu'on fasse le boulot pour toi, tu as ta place ici.  ;)  


---------------
Expert en expertises
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed