[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. ok j'ai bien compris
    0
    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 !
      0
    2. quelle methode?
      0
    3. Bah je vais utiliser des variables de sessions ! $_SESSION['j']...

      ah oué, la méthode de transfert par lien direct
      0
    4. Je t'ai donné une solution plus haut, tu n'as pas forcément besoin d'utiliser des sessions...
      0
  2. 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
    0
    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
      0
      1. Merci, jessayerai a 14h, dsl ! :)
        0
        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
          0
          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 ..
            0
            1. sur page1.php
              fait; $j="bonjours";
              0
              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
                0
                1. salut
                  echo '<a href="prog_bar.php?j='.$j.'">envoyer</a>';

                  ajout la condition
                  if (isset($_get['j']))
                  0