Pseudos-frames PHP

Discussion dans 'Web, design' créé par TheNastyBoy, 18 Avril 2004.

Statut de la discussion:
Fermée.
  1. Offline
    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!
    TheNastyBoy, 18 Avril 2004
    #1
  2. Offline
    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)
    AssiuM, 18 Avril 2004
    #2
  3. Offline
    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?
    TheNastyBoy, 18 Avril 2004
    #3
  4. Offline
    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 :
    Seulement dans ce cas ci ?
    Code:
    <?php
    echo "La vache fait $moo";
    ?>
    Certains hébergeurs te retourneront
    mais d'autres :
    Warning, call tu undefined variable, ou un truc du style ;)

    tu ne sais pas le modifier c'est suivant la configuration du serveur ;)
    AssiuM, 18 Avril 2004
    #4
  5. Offline
    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)
    Styleman, 18 Avril 2004
    #5
  6. Offline
    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 ?
    TheFornicator, 18 Avril 2004
    #6
  7. Offline
    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
    TheNastyBoy, 18 Avril 2004
    #7
Statut de la discussion:
Fermée.