Tom's Guide > Forum > Programmation > Include et fonction GET

Include et fonction GET

Forum Programmation : Include et fonction GET

TomsGuide.com : 800 000 inscrits répondent à toutes vos questions high-tech et informatique. Pour obtenir de l'aide, inscrivez-vous gratuitement !
Mot :    Pseudo :           
 

Bonjour, je suis en train de me battre avec ces fonctions.
J'ai les fichiers suivants : menu.php dans le dossier inc, le fichier index.php et deux script pacé dans les dossiers inc/faq/ et inc/help/ ....
Dans mon menu je place :

Code :
  1. <a href="index.php?page=1">commande</a><br />
  2. <a href="index.php?page=2">FAQ</a><br/>
  3. <a href="index.php?page=3&index.php">ticket</a><p>
  4. <a href="index.php?page=4">test</a>


dans index.php j'ai :

Code :
  1. <?php include("header.php" );?>
  2. <table width="98%" border="0" cellspacing="0" cellpadding="0">
  3.  
  4.   <tr>
  5.     <td bgcolor="#333333" width="200" valign="top"><?php include('inc/menu.php'); ?></td>
  6.     <td width="690" height="500"  valign="top"> 
  7.  
  8. <?php
  9. // On initialise $page_go___________________________________
  10. $page_go = FALSE;
  11. /*
  12. Si la page est appelée et si l'appel n'est pas vide
  13. ex: index.php?page=
  14. */
  15. if ( isset( $_GET['page'] ) and !empty( $_GET['page'] ) ) {
  16. // on va appeler la page concernée
  17. switch( $_GET['page'] ) {
  18. //------Les pages sont numerotées------\
  19. case 1 : $page_go ='commande1.php';break;
  20. case 2 : $page_go ='inc/faq/index.php';break;
  21. case 3 : $page_go ='inc/help/';break;
  22. case 4 : $page_go ='inc/help/test.php';break;
  23. //------Les pages son nommées----------\
  24. //case 'zoulou' : $page_go ='page_d.php';break;
  25. //case 'toto' : $page_go ='page_e.php';break;
  26. }
  27. // si la page appelé n\est pas vide et le fichier concerné existe
  28. if( !empty( $page_go ) and file_exists( $page_go ) ) {
  29. // alors in inclue le fichier
  30. include( $page_go );
  31. // sinon on initialise $page_go
  32. } elseif( $page_go === FALSE ) {
  33. // et on affiche :
  34. echo' <p align="center">Cette page n existe pas</p>';
  35. }
  36. }
  37. else {
  38. // ici on met la page par défaut
  39. include( 'accueil.php' );
  40. }
  41. ?>
  42.    
  43.     </td>
  44.   </tr>
  45. </table>
  46. <?php
  47. include("./footer.php" );
  48. ?>



Pour le lien test qui pointe vers un page de test placé dans le dossier inc/help/ le lien fonctionne et la fonction ouvre bien cette page, idem pour le lien page default (accueil.php) et le lien commande1.php.
Par contre impossible d'ouvrir les liens qui pointent vers des scripts (FAQ et HELP).
Pour le lien FAQ j'ai une erreur

Citation :

.........../includes/system/codeigniter/CodeIgniter.php on line 38


et pour le lien help j'ai un erreur a la ligne

Citation :

Warning: include(inc/help/) [function.include]: failed to open stream: No such file or directory in /home/xxxx/domains/xxxx.com/public_html/clients/index.php on line 33

ce qui correspond dans le fichier index.php à

Code :
  1. include( $page_go );



Merci pour votre aide.

Liens sponsorisés
Inscrivez-vous ou connectez-vous pour masquer ceci.

Essaye plutôt d'utiliser des paths absolus (le relatif c'est le mal)

Éventuellement an te créant une constante dans laquelle tu stockes dirname(__FILE__) de ta racine d'application.

Répondre à n1kk0

Tout d'abord merci pour ta réponse.
Tu peux préciser

Citation :

Éventuellement an te créant une constante dans laquelle tu stockes dirname(__FILE__) de ta racine d'application.

Merci

Répondre à yatoula

Bon j'ai remplacé pour la case 2 de l'index.php par :
case 2 :

Code :
  1. $page_go ='/home/webamax/domains/webamax.com/public_html/clients/inc/faq/index.php';break;



Mais ca change toujours rien , la même erreur ? :cry:


Message édité par yatoula le 16-10-2009 à 13:18:23
Répondre à yatoula

Possible de voir ton arborescence de fichiers ?

------------------------------ On ne sait pas ce qu'est l'amour jusqu'au moment ou on l'a réellement trouvé. Moi je l'ai trouvé.
Répondre à bosco@idn

Je tiens à te signaler que dans le cas 3, tu tentes d'inclure le répertoire help (qui n'est pas un fichier), ton &index.php passé en url ne donne rien et ne sera jamais exploité.

------------------------------ Réseau IRC Francophone | g33k-zone
Répondre à crazycat@idn

Essaye la solution de n1kko.

Code :
  1. case 1 : $page_go = dirname(__FILE__).'/commande1.php';break;
  2. case 2 : $page_go = dirname(__FILE__).'/inc/faq/index.php';break;
  3. case 3 : $page_go = dirname(__FILE__).'/inc/help/';break;
  4. case 4 : $page_go = dirname(__FILE__).'/inc/help/test.php';break;

Répondre à SiM07

Merci je test et vous tiens au courant.. Merci encore

Répondre à yatoula

SiM07 a écrit :

Essaye la solution de n1kko.

Code :
  1. case 1 : $page_go = dirname(__FILE__).'/commande1.php';break;
  2. case 2 : $page_go = dirname(__FILE__).'/inc/faq/index.php';break;
  3. case 3 : $page_go = dirname(__FILE__).'/inc/help/';break;
  4. case 4 : $page_go = dirname(__FILE__).'/inc/help/test.php';break;




oui sauf que pour le principe, il est préférable de n'appeller dirname(__FILE__) qu'une seule fois parce que c'est un tantinet consomateur de ressources.

Avec un define('ROOT_PATH', dirname(__FILE__)) par exemple.

Répondre à n1kk0
Tom's Guide > Forum > Programmation > Include et fonction GET
Aller à :

Il y a 1899 utilisateurs connus et inconnus. Pour voir la liste des connectés connus, cliquez ici.

Liens