Varibale-Weitergabe??

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Varibale-Weitergabe??

    Hi,

    Ich habe folgendes Problem:

    quelle.php
    PHP:

    <?php
    $test= "Hallo Welt";
    echo "<a href=ziel.php?weitergabe=$test>Die Variable an ziel.php weitergeben</a>";
    ?>



    ziel.php

    PHP:

    <?php
    echo $weitergabe;
    ?>


    Leider es funktioniert nicht.

    Der Browser meldet:
    Undefined variable: weitergabe in C:\htdocs\ziel.php on line 10

    Line 10 ist übrigens "echo $weitergabe";

    Was mache ich da falsch??

    Wie nennt man übrigens diese Möglichkeit der Weitergabe von Variablen??

    Danke

  • #2
    Suche nach register_globals
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      ziel.php

      PHP-Code:
      <?php 
      echo $_REQUEST['weitergabe']; 
      ?>

      Kommentar


      • #4
        Wow, besten Dank für die super schnelle Antwort.

        Allerdings scheint das ein sehr unsichere Methode zu sein, denn in der Browserleiste steht folgendes:

        http://localhost/ziel.php?weitergabe=Hallo


        Also es ist nicht zu übersehen, dass hier eine Variable mit dem Namen weitergabe und den Wert Hallo weitergegeben wurde.

        Ist das immer so?? Kann man es irgendwie verhindern, dass alles in der Adressleist des Browsers zu sehen ist??

        Kommentar


        • #5
          wenn du die variable direkt in der url weiter gibst ist das immer so...

          eine möglichkeite wäre z.b. die variable mit einem formular mit method="post" weiterzugeben. dann wird es nicht direkt in der adressleiste im browser angezeigt.

          Kommentar


          • #6
            bei einem Link-Sprung hast du keine andere Wahl, außer diese Übergabe. Jedoch muß es nicht so sein. Du kannst z.B.
            PHP-Code:
            <a href="bla.php?x=1">link</a
            übergeben. In bla.php prüfst du die Übergabe mit vordefinierten Werte aus einer Liste (z.B. Konstante, Arrays oder aus der DB, etc...) und reagiere entsprechend drauf, etwa
            PHP-Code:
            if (isset($_GET['x']) && !empty($_GET['x'])) {
               switch (
            $_GET['x'] {
                  case 
            1// tu dies
                        
            break;
                  case 
            2// tu das
                        
            break;
                  default: 
            // default, wenn Wert nicht in der Liste
               
            }
            } else 
            // alternative Reaktion, wenn nichts übergeben wird 
            Du siehst, es ist nicht offensichtlich, was die Übergabe bedeutet, und du hast die Sicherheit, daß dein Script nur auf festgelegte Parameter arbeitet.

            Kommentar


            • #7
              Original geschrieben von magman
              wenn du die variable direkt in der url weiter gibst ist das immer so...

              eine möglichkeite wäre z.b. die variable mit einem formular mit method="post" weiterzugeben. dann wird es nicht direkt in der adressleiste im browser angezeigt.
              bei einem Link?

              Kommentar


              • #8
                Original geschrieben von asp2php
                bei einem Link?
                na klar...

                z.b. mit
                PHP-Code:
                echo "<form name='form' method='post' action='ziel.php'>";
                echo 
                "<input type='hidden' name='weitergabe' value='".$test."'>";
                echo 
                "<input type='submit' name='submit' value='weiter'>";
                echo 
                "</form>"
                und den submit button könnte man ja auch noch durch einen normalen link ersetzen... (<a href="this.form.submit()">weiter</a>)

                ist natürlich etwas umständlich für einen normalen link... aber gehen würde es

                Kommentar


                • #9
                  und wenn JS deaktiert ist, Tschüß Link, ... byebye User
                  EDIT:
                  und in den Quelltext kann man auch noch einsehen, ähnliche Form mit anderen Parameter/hidden-Feld-Wert selbst bauen, zu deinem Server senden und u.U. könnte das ein Tschüß Server bewirken
                  Zuletzt geändert von asp2php; 28.01.2005, 09:14.

                  Kommentar


                  • #10
                    1. Original geschrieben von magman
                      ist natürlich etwas umständlich für einen normalen link... aber gehen würde es
                    2. bringt es auch nichts, weil ich den sprechenden Parameter trotzdem noch sehen kann
                    Ich denke, also bin ich. - Einige sind trotzdem...

                    Kommentar


                    • #11
                      Original geschrieben von mrhappiness
                      1. bringt es auch nichts, weil ich den sprechenden Parameter trotzdem noch sehen kann
                      klar kann ich ihn noch sehen... aber zumindest steht er nicht mehr offensichtlich in der adressleiste... und wegen dem deaktivierten js habe ich es ja auch als button gemacht

                      aber natürlich ist das alles keine gute lösung... war ja nur als spielerei gedacht. normalerweise macht man das ja auch wie du gesagt hast mit referenzvariabeln.
                      Zuletzt geändert von magman; 28.01.2005, 09:17.

                      Kommentar


                      • #12
                        Na dann

                        Kommentar


                        • #13
                          Kann ich auch mit dieser Methode mehr als nur eine Variable weitergeben??

                          Wenn ja, wie ist die Schreibweise??

                          Kommentar


                          • #14
                            Geh mal mit der Maus über den Antworten-Button und schau dir den Link an
                            Ich denke, also bin ich. - Einige sind trotzdem...

                            Kommentar


                            • #15
                              oder schneller: schau dir die aktuelle Adressenzeile deines Browserfensters an

                              Kommentar

                              Lädt...
                              X