Votre question

Question sur les "if" et "else" avec des includes

Tags :
  • Script
  • Programmation
Dernière réponse : dans Programmation
11 Août 2007 20:24:59

Bonjour à tous,

Donc, je voudrais un petit script mais je ne sais pas comment le faire (pas très bon en php).

Je veux un truc du genre :

  1. <? if "c'est la page d'acceuil du site"
  2. alors include("...");
  3.  
  4. else "c'est pas la page d'accueil du site"
  5.  
  6. alors include("...."); ?>


Désolé, pas simple à expliquer... J'aimerais donc connaître la structure exacte pour utiliser les "if" et "else" avec les includes.

Merci d'avance. :) 

Autres pages sur : question else includes

11 Août 2007 21:39:25

phpdebutant.org
Contenus similaires
12 Août 2007 01:08:32

Arf j'en sais rien...

  1. 1. <? if "c'est mon index.php {
  2. 2. include('mapage.php');
  3. 3. } else "ce n'est pas l'index.php {
  4. 4. include('monautrepage.php');
  5. 5. } ?>


Un truc comme ça doit bien être faisable ? Sinon tant pis. :) 
a c 232 L Programmation
12 Août 2007 01:10:51

  1. <? if ($_SERVER["PHP_SELF"] == 'index.php') {
  2. include('mapage.php');
  3. } else {
  4. include('monautrepage.php');
  5. } ?>


Ca devrait le faire
12 Août 2007 12:12:31

Merci OmaR. Cependant, ça ne fonctionne que pour le else.

Dans ma page d'accueil (index.php) j'ai :

  1. <?php
  2. include("footer.php");
  3. ?>


Et donc à côté dans mon footer.php :

  1. <? if ($_SERVER["PHP_SELF"] == 'index.php')
  2. {
  3. include("./visite/visite.php");
  4. echo "Nombre total de visiteurs : $compteur<br>";
  5. }
  6. else
  7. {
  8. include("../visite/visite1.php");
  9. echo "Nombre total de visiteurs : $compteur<br>";
  10. } ?>


Donc sur toutes mes pages autres à la racine de mon site j'ai bien : "Nombre total de visiteurs : ****"

Et sur ma page d'accueil (racine du site) :

Citation :
Warning: main(../visite/visite1.php) [function.main]: failed to open stream: No such file or directory in /home/.filer2/syl/www/footer.php on line 11

Warning: main() [function.include]: Failed opening '../visite/visite1.php' for inclusion (include_path='.:/usr/share/php:/usr/share/php/PEAR') in /home/.filer2/syl/www/footer.php on line 11
Nombre total de visiteurs :


J'ai essayé plusieurs manip' mais en vain... Si tu ne sais pas, tant pis, je ferai autrement. :) 
12 Août 2007 12:36:47

include("visite/visite.php" );

include("visite/visite1.php" );

faut pas mettre n'importe quoi comme chemin, ou dumoins, ne pas mettre des ../ par ce que ca fait jolie.

le message d'erreur signifie que le chemin vers le fichier que tu veux inclure n'était pas correct.

"../" te fait remonté d'un répertoire.
12 Août 2007 12:43:58

Je suis d'accord mais c'est parce que dans mon script il y a écrit :

Citation :
Le code a utiliser si vos pages sont a la racine du site (ce qui est mon cas pour ma page d'accueil) : include("./visite/visite.php");


Et :

Citation :
Le code a utiliser si vos pages ne sont pas a la racine du site (toutes mes autres pages qui sont dans des dossiers) : include("../visite/visite1.php");
12 Août 2007 13:25:07

si c'est à la racine du site :

include("visite.php" );

met nous l'arborescence du répertoire ou ton fichier php actuel est executer ainsi que l'endroit ou se trouve visite.php et visite1.php
12 Août 2007 13:29:03

L'arborescence de mon site est simple :

index.php (page d'accueil)
footer.php (donc mon pied de page)
dossier/index.php (une autre page)
dossier2/index.php (une autre page2)
visite/visite.php
visite/visite1.php

Et donc dans mon index.php j'ai :
<?php
include("footer.php");
?>

Et dans mes autres pages qui sont donc à chaque fois dans un dossier :
<?php
include("../footer.php");
?>

Tout ça fonctionne très bien.

12 Août 2007 14:13:31

ca :

1. <? if ($_SERVER["PHP_SELF"] == 'index.php')
2. {
3. include("./visite/visite.php" );
4. echo "Nombre total de visiteurs : $compteur<br>";
5. }
6. else
7. {
8. include("../visite/visite1.php" );
9. echo "Nombre total de visiteurs : $compteur<br>";
10. } ?>

tu le met ou ?
12 Août 2007 14:14:55

Dans le footer.php.
12 Août 2007 14:33:27


  1. <? if ($_SERVER["PHP_SELF"] == 'index.php')
  2. {
  3. include("visite/visite.php");
  4. echo "Nombre total de visiteurs : $compteur<br>";
  5. }
  6. else
  7. {
  8. include("visite/visite1.php");
  9. echo "Nombre total de visiteurs : $compteur<br>";
  10. } ?>

12 Août 2007 16:42:47

Merci mais j'avais déjà essayé, y'a un message d'erreur encore plus long...

Citation :
Warning: main(../visite/connect_visite.php) [function.main]: failed to open stream: No such file or directory in /home/.filer2/syl/www/visite/visite1.php on line 2

Warning: main() [function.include]: Failed opening '../visite/connect_visite.php' for inclusion (include_path='.:/usr/share/php:/usr/share/php/PEAR') in /home/.filer2/syl/www/visite/visite1.php on line 2

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/.filer2/syl/www/visite/visite1.php on line 24

Warning: mysql_fetch_object(): supplied argument is not a valid MySQL result resource in /home/.filer2/syl/www/visite/visite1.php on line 25

Warning: mysql_query(): supplied argument is not a valid MySQL-Link resource in /home/.filer2/syl/www/visite/visite1.php on line 41
requete invalide supp ip


PS : Si je le fais manuellement, c'est-à-dire j'écris dans mon index.php (page d'accueil) :

  1. <? include(".visite/visite.php");
  2. echo "Nombre total de visiteurs : $compteur<br>";
  3. ?>


Ca fonctionne bien... Et pareillement, si par exemple, dans dossier/index.php (donc une autre page) je mets le même code en mettant include("../visite/visite1.php"); ça marche aussi.

Mais j'aimerais, automatiser donc la chose...
12 Août 2007 18:03:24

les chemins des autres inclusion présent dans visite.php ne sont pas correct, d'ou les erreurs plus importante après mon code. modifie les aussi.
12 Août 2007 19:23:16

Je vous remercie, ce n'est pas grave, je fais autrement.

Dans toutes mes pages autres que mon index.php je mets :

  1. <?
  2. include("../footer.php");
  3. ?>


Et dans ce footer.php je mets :

  1. <?
  2. include("../visite/visite1.php");
  3. echo "Nombre total de visiteurs : $compteur<br>";
  4. ?>


Et donc, pour ma page d'accueil je mets en manuel :

  1. <?
  2. include("./visite/visite.php");
  3. echo "Nombre total de visiteurs : $compteur<br>";
  4. ?>


Ca marche comme cela, mais j'aurais aimé automatiser mon footer pour toutes les pages vous voyez... Si je dois le refaire, je dois éditer et le footer.php et ma page d'accueil pour que les changements s'appliquent aussi. Tant pis, c'est pas la mer à boire. Je vous remercie quand même d'avoir pris de votre temps.

http://syl.jexiste.fr/
Tom's guide dans le monde
  • Allemagne
  • Italie
  • Irlande
  • Royaume Uni
  • Etats Unis
Suivre Tom's Guide
Inscrivez-vous à la Newsletter
  • ajouter à twitter
  • ajouter à facebook
  • ajouter un flux RSS