Mikolaskova: Array mit einem link übergeben

Möchte eine Array-Variable mit einem Link an die Seite next.php übergeben.
die Seite next.php verarbeitet die Array-Variable.

Von einer anderen Seite übergebe ich den Array folgendermassen mittels Formular.
...
<input  type="checkbox" name="var[]" value="2" />Licht
<input  type="checkbox" name="var[]" value="3">Material
...

Wie kann ich den Array var mit einem link an die Seite next.php übergeben, damit dasselbe ankommt, wie aus dem Formular?

habe unter anderem Folgendes probiert, aber das funktioniert nicht:

<a href="next.php?var=<?php echo array(2,3); ?>">next</a>

  1. Hallo,

    Von einer anderen Seite übergebe ich den Array folgendermassen mittels Formular.
    <input  type="checkbox" name="var[]" value="2" />Licht
    <input  type="checkbox" name="var[]" value="3">Material

    Tip: Mach mal, dass dieses Formular per GET uebertragen wird.
    Dann siehst Du auch gleich, wie die URL aussehen muss.

    Wie kann ich den Array var mit einem link an die Seite next.php übergeben, damit dasselbe ankommt, wie aus dem Formular?
    habe unter anderem Folgendes probiert, aber das funktioniert nicht:
    <a href="next.php?var=<?php echo array(2,3); ?>">next</a>

    Nein, das wird sicher nicht funktionieren.
    Die Link-URL sollte vermutlich ungefaehr so aussehen:
    next.php?var[0]=2&var[1]=3
    aber natuerlich muss das im HTML-Quellcode noch codiert sein,
    d.h. wahrscheinlich so:
    <a href="next.php?var%5B0%5D=2&var%5B1%5D=3">next</a>

    & fuer &  (unbedingt noetig)
    %5B fuer [  (bin nicht sicher, ob es nicht auch ohne geht.)
    %5D fuer ]  (dito)

    HTH, Gruesse,

    Thomas

    1. ÈÈ Hallo,
      ÈÈ
      ÈÈ ÈÈ Von einer anderen Seite Ÿbergebe ich den Array folgendermassen mittels Formular.
      ÈÈ ÈÈ <inputÊ type="checkbox" name="var[]" value="2" />Licht
      ÈÈ ÈÈ <inputÊ type="checkbox" name="var[]" value="3">Material
      ÈÈ
      ÈÈ Tip: Mach mal, dass dieses Formular per GET uebertragen wird.
      ÈÈ Dann siehst Du auch gleich, wie die URL aussehen muss.

      das hat aber eine ziemlich andere Form als untenstehendes...?
      ÈÈ
      ÈÈ ÈÈ Wie kann ich den Array var mit einem link an die Seite next.php Ÿbergeben, damit dasselbe ankommt, wie aus dem Formular?
      ÈÈ ÈÈ habe unter anderem Folgendes probiert, aber das funktioniert nicht:
      ÈÈ ÈÈ <a href="next.php?var=<?php echo array(2,3); ?>">next</a>
      ÈÈ
      ÈÈ Nein, das wird sicher nicht funktionieren.
      ÈÈ Die Link-URL sollte vermutlich ungefaehr so aussehen:
      ÈÈ next.php?var[0]=2&var[1]=3
      ÈÈ aber natuerlich muss das im HTML-Quellcode noch codiert sein,
      ÈÈ d.h. wahrscheinlich so:
      ÈÈ <a href="next.php?var%5B0%5D=2&var%5B1%5D=3">next</a>
      ÈÈ
      funktioniert leider nicht. Hab es ausprobiert.
      ÈÈ & fuer &Ê (unbedingt noetig)
      ÈÈ %5B fuer [Ê (bin nicht sicher, ob es nicht auch ohne geht.)
      ÈÈ %5D fuer ]Ê (dito)
      ÈÈ
      ÈÈ HTH, Gruesse,
      ÈÈ
      ÈÈ Thomas

    2. (nochmals, da meine vorherige Antwort ziermlich unlesbar ist)
      Danke fŸr die LšsungsvorschlŠge, allerdings bin ich nicht weitergekommen

      ÈÈ Tip: Mach mal, dass dieses Formular per GET uebertragen wird.
      ÈÈ Dann siehst Du auch gleich, wie die URL aussehen muss.
      ÈÈ
      hab das angeschaut- mit get funktioniert das ganze nicht und die Form, die die Daten so haben, ist ziemlich anders als untenstehendes

      ÈÈ Die Link-URL sollte vermutlich ungefaehr so aussehen:
      ÈÈ next.php?var[0]=2&var[1]=3
      das hatte ich auch schon versucht- geht nicht.
      ÈÈ aber natuerlich muss das im HTML-Quellcode noch codiert sein,
      ÈÈ d.h. wahrscheinlich so:
      ÈÈ <a href="next.php?var%5B0%5D=2&var%5B1%5D=3">next</a>
      ÈÈ
      ÈÈ & fuer &Ê (unbedingt noetig)
      ÈÈ %5B fuer [Ê (bin nicht sicher, ob es nicht auch ohne geht.)
      ÈÈ %5D fuer ]Ê (dito)

      auch codiert funktioniert's leider nicht.

      Gruss

      Adriana

      1. Hallo Adriana!

        hab das angeschaut- mit get funktioniert das ganze nicht und die Form, die die Daten so haben, ist ziemlich anders als untenstehendes

        auch codiert funktioniert's leider nicht.

        Was Du imho brauchst ist wohl, wie shcon geschrieben, die serialize-Funktion.
        Die Seite im Manual verlink ich dir nochmal: http://de.php.net/serialize.

        Die Variable, die Du verschicken willst mußt Du erst mit serialize Serialisieren und auf der Seite, auf der du sie dann wieder brauchst mit unserialize wieder umwandeln.

        Also z.B., Du willst den Array $array per GET an ein anderes Scipt (next.php) übergeben:
        $array = array(); // Dein Array eben
        $array_get = serialize($array); // serialisierter $array

        Jetzt einfach an den entsprechenden Link $array_get anhängen, also z.B.
        echo('<a href="next.php?array_get='.$array_get.'">next</a>');

        Auf next.php kannst Du dann über $_GET['array_get'] auf den serialisierten Array zugreifen.
        Nun einfach
        $array = unserialize($_GET['array_get']);
        und du solltest wieder $array haben, mit dem Du normal weiterarbeiten kannst.

        Ich hoffe, es war halbwegs verständlich.

        MfG
        Götz

        --
        Losung und Lehrtext für Sonntag, 21. September 2003
        Tut nicht Unrecht den Witwen, Waisen, Fremdlingen und Armen. (Sacharja 7,10)
        Ein reiner und unbefleckter Gottesdienst vor Gott, dem Vater, ist der: die Waisen und Witwen in ihrer Trübsal besuchen und sich selbst von der Welt unbefleckt halten. (Jakobus 1,27)
        (http://www.losungen.de/heute.php3)
        1. Hallo Gštz,

          ÈÈ Die Variable, die Du verschicken willst mu§t Du erst mit serialize Serialisieren und auf der Seite, auf der du sie dann wieder brauchst mit unserialize wieder umwandeln.

          vielen Dank fŸr die Lšsung. Funktioniert bestens.

          Allerdings suche ich immer noch nach einer direkteren Lšsung, bei der ich auf der next.php-Seite direkt auf den Array zugreifen kann (ohne, wie hier z.Bsp. zuerst unserialize ausfŸhren zu mŸssen. So wie ich mit einem Formular ein Array abschicken und auf der nŠchsten Seite direkt verwenden kann.

          Falls ich das nicht finde, werde ich es aber mit Deiner Lšsung machen.

          Gruss

          Adriana

          1. Hallo Adriana Mikolaskova!

            Allerdings suche ich immer noch nach einer direkteren Lösung, bei der ich auf der next.php-Seite direkt auf den Array zugreifen kann (ohne, wie hier z.Bsp. zuerst unserialize ausführen zu müssen. So wie ich mit einem Formular ein Array abschicken und auf der nächsten Seite direkt verwenden kann.

            Soweit ich weiß ist das die "direkteste" Art dies zu machen.
            Und die beiden Befehle einzubauen ist ja kaum Aufwand.

            Also, ich meine serialize ist die einzige sinnvolle Möglichkeit Arrays per GET zu übergeben, aber falls es noch was anderes gibt lasse ich mich auch eines Besseren belehren ;)

            MfG
            Götz

            --
            Losung und Lehrtext für Sonntag, 21. September 2003
            Tut nicht Unrecht den Witwen, Waisen, Fremdlingen und Armen. (Sacharja 7,10)
            Ein reiner und unbefleckter Gottesdienst vor Gott, dem Vater, ist der: die Waisen und Witwen in ihrer Trübsal besuchen und sich selbst von der Welt unbefleckt halten. (Jakobus 1,27)
            (http://www.losungen.de/heute.php3)
  2. Hallo Mikolaskova!

    Wie kann ich den Array var mit einem link an die Seite next.php übergeben, damit dasselbe ankommt, wie aus dem Formular?

    Das was Du suchst dürfte serialize() sein, damit sollte das möglich sein, was du willst.
    (Lesetip: http://de.php.net/serialize)

    MfG
    Götz

    --
    Losung und Lehrtext für Samstag, 20. September 2003
    Ich will meinen Odem in euch geben, dass ihr wieder leben sollt, und will euch in euer Land setzen, und ihr sollt erfahren, dass ich der Herr bin. (Hesekiel 37,14)
    Ihr sollt euch als solche ansehen, die für die Sünde tot sind, aber für Gott leben in Christus Jesus, unsrem Herrn. (Römer 6,11)
    (http://www.losungen.de/heute.php3)