Pseudos-frames PHP

Statut
N'est pas ouverte pour d'autres réponses.

TheNastyBoy

B0rn t0 b3 r00t
Hello les gamerz!

J'ai un pépin avec des pseudos-frames PHP, une erreur se glisse et je n'arrive pas à m'en débarasser :p

La situation est la suivante :

index.php possède une partie menu qui ne change jamais. l'autre partie contiendra les contenus des rubriques. Il y a donc dans cette partie de l'index le code suivant :
Code:
<? require('centre.php'); ?>
centre.php contient ceci :
Code:
<?
$page=$_GET['page'];
echo '<p>Bonjour, ceci est la page '.$page.'.</p>';
if ($page=='gtr') {require('gtr.php');}
else {require('default.php');}?>
les pages gtr et default existent, il n'y a pas de problème de plantage dans les noms.

lorsque j'affiche index.php dans mon navigateur, j'obtiens l'erreur suivante :
Code:
Notice: Undefined index: page in c:\program files\easyphp1-7\www\kit35\centre.php on line 9
En revanche, lorsque dans mon navigateur je met "index.php?page=" il n'y a pas d'erreur. Pas d'erreur non plus si je met un nom de page existant.
Si j'essaie de remplacer
Code:
<? require('centre.php'); ?>
par
Code:
<? require('centre.php?page=default'); ?>
ou autre chose que default ça fait encore des erreurs...

Quelqu'un peut-il m'aider? D'avance merci!
 

AssiuM

Fan
euh peut-être que tu devrais faire un if isset pour voir si la variable est définie ;)
en fait je crois que ça dépend des hébergeurs, ils retournent une erreur ou pas quand une variable est pas définie (j'avais le cas sur easyphp, pas sur un serveur sous linux)
 
1er
OP
TheNastyBoy

TheNastyBoy

B0rn t0 b3 r00t
J'utilise Easy PHP pour le moment, et mon hébergeur ne déclare pas les variables globales...
Et je les déclare où ces variables?
 

AssiuM

Fan
non en fait tu m'as pas bien compris ou je me suis mal exprimé :D


Je prends un exemple,
t'as un script :
Code:
<?php
$moo="meuh";
echo "La vache fait $moo";
?>
Tu es d'accord avec moi qu'il va te retourner :
La vache fait meuh
Seulement dans ce cas ci ?
Code:
<?php
echo "La vache fait $moo";
?>
Certains hébergeurs te retourneront
La vache fait
mais d'autres :
La vache fait
Warning, call tu undefined variable, ou un truc du style ;)

tu ne sais pas le modifier c'est suivant la configuration du serveur ;)
 

Styleman

Touriste
Moi si y'a bien un truc qui me les broutes, c'est easyphp, les version avant çaallait niquel, now pour passé de ton hebergeur et ton chez toi, tu dois tout changer (du moins si tu code comme un barbare a la nawak comme koi lol)
 
pour le require, je pense que tu ne peux pas passer de variable dans le nom de la page...enfin, il faut, pour être sur, vérifier sur le site php.net, la doc de la fonction require.

Ton problème vient bien du fait que ta variable soit définie ou non ! pour le debug, tu devrais simplement ajouter un print "Page = $page <br>" dans ton code pour savoir exactement ce que vaut page.

Normalement, tu n'as pas besoin de définir ta variable $page au travers de ton script comme tu le fait, en effet, un require (si je me trompe pas, faut relire la doc du require), inclus le code dans la page actuelle (ou alors, c l'include... je sais jamais). Ci c'est pas un, c l'autre.... L'avantage est que cette fonction te permet de faire une sorte de "copier" du code désigner à l'emplacement de la fonction, les variables déclarées avant étant valable dans cette nouvelle partie de code aussi !

je me suis fait comprendre ou j'suis pas clair ?
 
1er
OP
TheNastyBoy

TheNastyBoy

B0rn t0 b3 r00t
Après essai chez mon hébergeur, ça passe... pour le moment...
On verra bien... en attendant je trouve ça con que ce soit une option à la con qui foute tout en l'air :p
 
Statut
N'est pas ouverte pour d'autres réponses.
Haut