Tom's Guide > Forum > Programmation > Question sur les "if" et "else" avec des includes

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

Forum Programmation : Question sur les "if" et "else" avec des includes

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 à 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 :

 
Code :
  1. <? if "c'est la page d'acceuil du site"
  2. alors include("..." );
  3. else "c'est pas la page d'accueil du site"
  4. 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. :)


Message édité par Desolation le 11-08-2007 à 20:25:18
------------------------------

 

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

phpdebutant.org

Répondre à okinou
- 0 +

Code :
  1. <? if (...) {
  2. include('mapage.php');
  3. } else {
  4. include('monautrepage.php');
  5. } ?>
 

Maintenant, pour savoir si c'est la page d'accueil du site, faudrait voir au niveau des variables $_SERVER. http://perso.univ-rennes1.fr/pasca [...] server.php


Message édité par OmaR le 12-08-2007 à 01:01:47
Répondre à OmaR

Arf j'en sais rien...

Code :
  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. :)

------------------------------

 

Répondre à Desolation

- 0 +

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

Ca devrait le faire


Message édité par OmaR le 12-08-2007 à 01:11:04
Répondre à OmaR

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

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

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



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

Code :
  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. :)


Message édité par Desolation le 12-08-2007 à 12:14:43
------------------------------

 

Répondre à Desolation

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.


Message édité par okinou le 12-08-2007 à 12:37:56
Répondre à okinou

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

------------------------------

 

Répondre à Desolation

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

Répondre à okinou

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.

 


Message édité par Desolation le 12-08-2007 à 13:30:43
------------------------------

 

Répondre à Desolation

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 ?

Répondre à okinou

Dans le footer.php.

------------------------------

 

Répondre à Desolation


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


Répondre à okinou

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) :

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

------------------------------

 

Répondre à Desolation

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.

Répondre à okinou

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

 

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

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

Et dans ce footer.php je mets :

 
Code :
  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 :

 
Code :
  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/


Message édité par Desolation le 12-08-2007 à 19:24:27
------------------------------

 

Répondre à Desolation

Tom's Guide > Forum > Programmation > Question sur les "if" et "else" avec des includes
Aller à :

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

Attention

Vous allez répondre sur un sujet resté inactif pendant plus de 6 mois.
Assurez-vous d'apporter des éléments nouveaux à la discussion avant de poursuivre.

Répondre Annuler
Liens