Array mit einem link übergeben
Mikolaskova
- php
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>
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
ÈÈ 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
(nochmals, da meine vorherige Antwort ziermlich unlesbar ist)
Danke fr die Lsungsvorschlge, 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
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
Hallo Gtz,
ÈÈ 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 fr die Lsung. Funktioniert bestens.
Allerdings suche ich immer noch nach einer direkteren Lsung, bei der ich auf der next.php-Seite direkt auf den Array zugreifen kann (ohne, wie hier z.Bsp. zuerst unserialize ausfhren zu mssen. So wie ich mit einem Formular ein Array abschicken und auf der nchsten Seite direkt verwenden kann.
Falls ich das nicht finde, werde ich es aber mit Deiner Lsung machen.
Gruss
Adriana
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
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