Lien de page avec _GET - PHP - Programmation
Marsh Posté le 30-09-2003 à 09:51:17
Si tu as judte des fichiers dans le même répertoire, çà devrait marcher, sinon faut voir.
Essaye avec require(), s'il y a une erreur, include() ne l'indique pas.
Fait un echo de $lien pour t'assurer de son contenu.
Marsh Posté le 30-09-2003 à 10:03:34
Mara's dad a écrit : Si tu as judte des fichiers dans le même répertoire, çà devrait marcher, sinon faut voir. |
euh, je connais pas require (je suis novice)
J'ai deja fais un echo pour verifie et ca donne bien "dossier/fichier.ext" ou "fichier.ext".
Marsh Posté le 30-09-2003 à 10:11:44
je viens d'essayer require mais le resultat est le meme que pour un include => Page blanche
Au fait, ce qui est bizarre, c'est que ca marche quand la variable est vide
Marsh Posté le 30-09-2003 à 10:23:55
Heu, un truc, quand même :
Tu commence par ob_start(), je suppose que c'est à cause du header que tu faisait
Maintenant, soit tu fait un ob_end_flush(), soit tu virre le ob_start() !
Marsh Posté le 30-09-2003 à 10:26:43
euh oui mais je met l'autre avec include ou require ?
Marsh Posté le 30-09-2003 à 10:28:41
Comme tu veux, la seule différence entre include() et require(), c'est que la première génère un warning si le fichier n'éxiste pas alors que l'autre provoque une erreur fatale : http://fr2.php.net/manual/fr/function.include.php
Sinon, çà marche maintenant ?
Marsh Posté le 30-09-2003 à 10:29:50
j'ai une erreur sur la ligne 3
La ou esty le _GET
Marsh Posté le 30-09-2003 à 10:31:38
Montre ton nouveau code et l'intitulé de l'erreur...
Marsh Posté le 30-09-2003 à 10:35:07
Mara's dad a écrit : Montre ton nouveau code et l'intitulé de l'erreur... |
Code :
|
Code :
|
Marsh Posté le 30-09-2003 à 10:44:02
Arf !
Quand je dis de mettre ob_end_flush(), c'est pas à la place d'ob_start() !
Tu sais à quoi sert ob_start() ? ? ?
Ton erreur (PHP) vient du fait que tu as oublié un ; après ob_end_flush().
Bon, reprenons :
ob_start() est une fonction qui sert à mettre en buffer tout ce qui est normalement envoyé au client (navigateur). C'est utile si tu commence à envoyer des choses et que tu te rends compte que tu dois envoyer un header. Comme les headers doivent être envoyés avant tout autre chose, la mise en buffer peut être utilisée pour çà même si çà veux dire que ton code est ... bourrin
Quand on utilise la mise en buffer, il faut dire à PHP quand envoyer les données, c'est à çà que sert ob_end_flush().
Comme tu ne veux plus utiliser de header, çà ne te sert à rien.
Donc :
Code :
|
Marsh Posté le 30-09-2003 à 10:53:17
Voila mon nouveau code :
Code :
|
Et la page est toujours vide mise a part le echo qui renvoi la valeur de "$lien".
Regarde : http://www.bodbod.com/go.php?action=informatique
Marsh Posté le 30-09-2003 à 11:11:19
Je ne suis pas d'accord avec toi !
Va là http://www.bodbod.com/go.php?action=informatique avec ton navigateur préféré.
Il affiche bien :
Informatique/index.php |
Mais va voir le source, et tu comprendras !
Si tu ne comprend pas, l'explication est simple :
Ton url est http://www.bodbod.com/go.php?action=informatique
Donc tu est à la racine du site. Le fichier HTML que reçoi ton navigateur est une page qui décrit des frames.
MAIS, ton navigateur va pas aller les chercher dans le dossier Informatique, il va les chercher là où il est, à la racine du site.
Bon, y'a des solutions pour ton problème. La plus simple est de changer tous tes liens pour les mettre en Absolu au lieu de relatif. Dans le HTML en tout cas.
Dans /Informatique/index.php, au lieu de mettre :
<frame name="banniere" scrolling="no" noresize target="sommaire" src="banniereH.htm"> |
Met un chemin complet :
<frame name="banniere" scrolling="no" noresize target="sommaire" src="/Informatique/banniereH.htm"> |
Mais attention à tes liens dans ta base MySql si tu les modifie avec un \ devant, c'est le include() qui va merder si tu le fais tel-quel. Tu comprends pourquoi ?
Marsh Posté le 30-09-2003 à 11:19:12
ah OK
En fait, en faisant un include, la page se met dans l'autre comme si elle etait dans le meme repertoir et donc, elle cherche les pages de frame dans ce meme repertoire.
Donc j'arrive au limite de mes bidouilles
Je vais voir ce que je peux faire.
La je dois partir, on verra ca une autre fois
Marsh Posté le 30-09-2003 à 09:27:19
Bonjour,
Voila il y a qq temps, j'avais bricoler un fichier pour pouvoir redirigé vers mes pages en fonction de la variable du lien,
jusque la, j'utlisait un header pour repartir sur les pages. Mais ce qui me deplait, c'est l'url change aussi
dossier/page.htm au lieu de site.com/go.php?action=variable
Donc, j'ai voulu faire un include mais la page ne s'affiche pas.
Que faire ?
Message édité par bodbod le 30-09-2003 à 10:01:57
---------------
http://www.menuiseriemerceron.fr - http://www.atlantiquecoloration.fr