[PHP] variable d'une page à l'autre

Bonjour,

Je n'arrive pas à faire un truc tout bête, qui est de passer une variable php d'une page à une autre.

Voici mes scripts :

page1.php

echo '<a href="prog_bar.php?j='.$j.'"</a>';

prog_bar.php

$msg= "Mails envoyés: ".$j;

Or il me dit qu'il ne connait pas la variable $j...

Notice: Undefined index: j in C:\wamp\www\test\Systeme_NL\prog_bar.php on line 26

Quelqu'un aurait une idée pourquoi ?

12 réponses

  1. salut
    echo '<a href="prog_bar.php?j='.$j.'">envoyer</a>';

    ajout la condition
    if (isset($_get['j']))
    1. Merci de me répondre,

      mais du coup sa m'affiche rien, pas d'erreur, mais pas non plus de valeur pour $j, puisque cette variable est null; c'est donc bien un probleme de transfert de variable.. Dans ma page1.php $j est un int non null.
      :s
      1. page1.php

        $j="bonjours";
        echo '<a href="prog_bar.php?nbr='.$j.'"</a>';

        prog_bar.php

        if (isset($_get['nbr'])){
        $msg= "Mails envoyés: ".$nbr;
        message($msg);//Afiche le nombre total de mails qui ont été envoyés
        }

        marhce pas; j'ai pas besoin de faire un include ou require de page1.php dans prog_bar.php ?

        ps: ma fonction message($msg), affiche juste $msg, c'est pour mettre en forme..
        J'ai essayé direct echo '"Mails envoyés: ".$nbr'; mais sa doit pas rentrer dans le if ..
        1. resolue
          essaye comme ca :

          page1.php

          <?php
          $j="bonjours";
          echo '<a href="prog_bar.php?nbr='.$j.'">xxx</a>';
          ?>

          prog_bar.php

          <?php
          if (isset($_GET['nbr'])){
          $msg= "Mails envoyés: ".$_GET['nbr'];
          echo $msg;//Afiche le nombre total de mails qui ont été envoyés
          }
          ?>

          il faut mettre les $_GET[ $_POST[ ... en majuscule
          j'ai changer ta fonction message() car je ne la passede pas
          tenez moi au courant
          1. Bonjour,

            Ce qu'il te manque dans ton deuxième fichier (en partant de ton code d'origine), c'est simplement :
            $j = (isset($_GET['j'])) ? $_GET['j'] : 0;


            (à la place de 0, mets ce que tu veux qui puisse faire office de valeur par défaut)

            Xavier
            1. gezaak,

              Effectivement, ton script fonctionne, cependant , il faut cliquer sur le lien , pour que la variable soit prise en compte..
              Seulement, ma variable doit être transférée pendant l'execution d'un script (dans la page1.php) ; Ya surement une autre solution que je vais trouver !

              Reivax962, dsl mais je ne comprend pas non plus ce que fait ta ligne
              1. ok j'ai bien compris
                1. Merci quand même , maintenant je sais qu'il ne faut pas utiliser cette méthode dans un script en cours d"execution ! :-)

                  Si je trouve la solution je la posterai !
                2. quelle methode?
                3. Bah je vais utiliser des variables de sessions ! $_SESSION['j']...

                  ah oué, la méthode de transfert par lien direct
                4. Je t'ai donné une solution plus haut, tu n'as pas forcément besoin d'utiliser des sessions...