Fonction permettant d'appeler (d'ouvrir) un autre fichier.

Eléphanteau du PHP | 24 Messages

20 juin 2007, 07:37

Bonjour,

Quelqu'un connaîtrait-il une fonction permettant d'ouvrir un autre fichier si une condition est remplie ?
Ex. Si mot de passe ok
Ouvre fichier xxx
sinon...

Merci pour vos lumières.

Mammouth du PHP | 19672 Messages

20 juin 2007, 09:59

Non, il n'y a pas de fonction. Le déroulement sera donc le suivant :

Code : Tout sélectionner

Si motdepasse OK fichier = xxx; Sinon fichier = yyy; ouvrir fichier
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Invité
Invité n'ayant pas de compte PHPfrance

20 juin 2007, 15:14

Mais c'est quoi la commande pour "fichier ouvrir" ???

Mammouth du PHP | 536 Messages

20 juin 2007, 15:20

tu peux faire un truc du genre
if (condition1 == 'cequetuveux')
{
include ('tonfichier.php');
}
elseif (condition2 == 'cequetuveux2')
{
include ('tonfichier2.php');
}
else {
header ("Location: index.php"); //retour à l'accueil
}
moi j'opterais pour un truc simple comme ca
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Invité
Invité n'ayant pas de compte PHPfrance

20 juin 2007, 15:36

Merci Beka.
La fonction Header fonctionne parfaitement.
Juste une dernière question (quoi qu'il me suffirait d'aller chercher sur le Net), mais quelle différence entre la fonction Header et Include ?

Mammouth du PHP | 536 Messages

20 juin 2007, 15:53

effectivement, tu l'as dit, tu aurais la réponse en cherchant sur internet.
il me semble que header redirige alors que include l'inclu dans ta page
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Invité
Invité n'ayant pas de compte PHPfrance

20 juin 2007, 16:07

Ce qu'il y a de bien avec l'informatique, c'est que ça ne fonctionne jamais !!!

J'avais parlé trop vite Béka...
La fct Header fonctionnait bien... testée seule !
Une fois incluse dans une condition, je reçois un message d'erreur
"Warning: Cannot modify header information - headers already sent by (output started at /mnt/100/sdc/d/b/f.hin/secret/base.php:8) in /mnt/100/sdc/d/b/f.hin/acces.php on line 34"
Pourtant le fichier "acces.php" ne contient aucune instruction de type Header (puisque je ne la connaissais pas encore).

Une idée ?

Invité
Invité n'ayant pas de compte PHPfrance

20 juin 2007, 16:20

Header ne fonctionne que si l'instruction figure en première ligne du fichier...
Donc, message d'erreur si placé après une condition !

Avatar du membre
Administrateur PHPfrance
Administrateur PHPfrance | 13231 Messages

20 juin 2007, 16:40

Header ne fonctionne que si l'instruction figure en première ligne du fichier...
Donc, message d'erreur si placé après une condition !
Pas vraiment non ;)

header() ne fonctionne que si aucun entête HTTP n'a été envoyé au navigateur.
Ces entêtes sont envoyés dès que quelque chose est affiché (via un echo par exemple), ou simplement par la présence d'un saut de ligne ou un espace avant une balise <?php ;)
Connaître son ignorance est la meilleure part de la connaissance
Pour un code lisible : n'hésitez pas à sauter des lignes et indenter

twitter - site perso - Github - Zend Certified Engineer

Mammouth du PHP | 536 Messages

20 juin 2007, 16:42

effectivement, ce que j'ai proposé n'est pas très judicieux.
Un prof désespéré à son élève :
- Et maintenant, dessinez-moi un cercle au tableau... Voila... Alors qu'est-ce que c'est?
- Ben un cercle ?
- Non, c'est votre note, sortez !!

Invité
Invité n'ayant pas de compte PHPfrance

20 juin 2007, 18:24

Ce n'est pas du PHP... mais ça fonctionne !!!

<META HTTP-EQUIV="Refresh" CONTENT="0;URL=NOM_DE_LA_PAGE.EXT">

Merci tout de même.