Se connecter avec
S'enregistrer | Connectez-vous

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

Dernière réponse : dans Programmation

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

Lassé par la pub ? Créez un compte

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. :) 
Expert Programmation

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.

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");
Expert Programmation

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

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.

Expert Programmation

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 ?
Expert Programmation


  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. } ?>

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...

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/
Lassé par la pub ? Créez un compte
Tom's guide dans le monde