Array als Parameter in der URL

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

  • Array als Parameter in der URL

    Hallöchen!

    Ich stehe mal wieder etwas auf dem Schlauch.
    Ich möchte ein Array von einem Script in ein anderes Übergeben.
    Sehe nur die möglichkeit es per Parameter mit

    PHP-Code:
    dateiname.php?array=$array 
    zumachen, aber das funzt leider nicht.
    Gibts noch ne andere Alternative, auf möglichs einfache Weise ein Array zu übergeben?!?

    Thx for possible help ...

  • #2
    Sicher gibt's 'nen einfacheren Weg aber:

    PHP-Code:
    $params="";
    foreach ( 
    $array AS $value ) {
        
    $params.=($params==""?"":"&")."array[]=".urlencode($value);
    }
    $url="dateiname.php".($params==""?"":"?").$params
    sollte funzen ...
    carpe noctem

    [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
    [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

    Kommentar


    • #3
      Thx für deinen Tip, aber die Möglichkeit kenne ich auch.
      Wollte aber nicht ne ganze "Latte" an Variablen über die URL verschicken.

      Dachte es gibt vielleicht auch noch ne "elegantere" Lösung?

      Kommentar


      • #4
        Wenn's auf dem gleichen Server liegt ... 'ne Session ...
        carpe noctem

        [color=blue]Bitte keine Fragen per EMail ... im Forum haben alle was davon ... und ich beantworte EMail-Fragen von Foren-Mitgliedern in der Regel eh nicht![/color]
        [color=red]Hinweis: Ich bin weder Mitglied noch Angestellter von ebiz-consult! Alles was ich hier von mir gebe tue ich in eigener Verantwortung![/color]

        Kommentar


        • #5
          kann man da nicht was mit serialize() machen ... weiss aber nicht genau ...

          Kommentar


          • #6
            @ BlobBanana:

            OT: Hast wohl gefallen an dem serialize() gefunden, kann das sein?

            Kommentar


            • #7
              Original geschrieben von TobiaZ
              @ BlobBanana:

              OT: Hast wohl gefallen an dem serialize() gefunden, kann das sein?
              Habs ehrlich gesagt noch nie benutzt ... deswegen schreib ich hier ja auch nicht "ich bin mir sicher das es mit serialize() geht" sondern schaue mir die php-manual an und werfe einen zusaetzlichen Faktor in die Diskussion ein. Ob das nun bei der Loesung des Problems hilft sei mal dahingestellt

              http://www.php.net/manual/de/function.serialize.php

              und dort die "User Contributed Notes" anschauen
              Zuletzt geändert von BlobBanana; 16.10.2002, 22:45.

              Kommentar


              • #8
                Werds mir mal ansehen, bei gelegenheit. Vielleicht kann man das ja wirklich mal irgendwann gebrauchen

                Kommentar


                • #9
                  So habs nun mal ausprobiert (und endlich mal serialize() benutzt ):


                  serialize.php
                  PHP-Code:
                  <?php


                  $var
                  =array("a","b","c"); 
                  $var=serialize($var); 
                  $var=urlencode($var); 

                  echo 
                  "<a href=\"ser2.php?var=$var\">weiter</a>";

                  ?>
                  ser2.php
                  PHP-Code:
                  <?php

                  $var
                  $_GET["var"]; 
                  $var=stripslashes($var); //no need to urldecode...rather strip the slashes 
                  $var=unserialize($var);

                  foreach(
                  $var as $elem) {
                      echo 
                  "$elem <br>";
                  }

                  ?>
                  Man hat hier jedoch das gleiche wie bei goths loesung ... die url wird ganz schoen lang ...

                  Wenn man das array ueber POST uebergibt kann man sich das aber ersparen:

                  serialize.php
                  PHP-Code:
                  <?php

                  echo "<form action=ser2.php method=post>";

                  $var=array("a","b","c"); 
                  $var=serialize($var); 
                  //$var=urlencode($var); 

                  echo "<input type=hidden name=var value=$var>";
                  echo 
                  "<input type=submit value=\"SEND\">";
                  echo 
                  "</form>";
                  ?>
                  ser2.php
                  PHP-Code:
                  <?php

                  $var
                  $_POST["var"];
                   
                  $var=unserialize($var);

                  foreach(
                  $var as $elem) {
                      echo 
                  "$elem <br>";
                  }
                  ?>

                  Kommentar


                  • #10
                    Das sieht schon sehr schön aus. Ich glaub das könnte spass machen, wenn mans denn braucht.

                    Muss man halt abwägen, was schöner ist.
                    a) ein schäbbiger Quelltext -> Für jeden Link ein ganzes Formular
                    oder
                    b) oder eine Unschöne Url -> Ellenlang

                    Kommentar


                    • #11
                      Jo ich musste bisher auch noch kein Array "transportieren" ... aber nu weiss ich wenigstens wie es geht ...

                      Kommentar

                      Lädt...
                      X