1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

Array mit Php übergeben

Dieses Thema im Forum "Web-Programmierung" wurde erstellt von Lifthrasil87, 02.05.06.

  1. Hallo!

    Ich habe ein Problem mit der Übergabe eines Arrays in Php von einer Seite zu einer anderen.
    (ich habe den Beitrag den ihr zu dem Thema hattet gelesen aber der Tip funktioniert nicht so richtig...)
    Ich habe ein Array $fragen und möchte dieses übergeben.

    Ich habe probiert:
    Methode 1:

    Seite 1:
    $data = serialize($fragen);
    echo "<input type=\"hidden\" name=\"data\" value=\"<? echo $data; ?>\">";
    Seite 2:
    $fragen = unserialize($_POST["data"]);

    nun steht aber in $fragen nichts drinnen...

    Methode 2:
    Ich benutze Sessions, weil ich sie sowieso habe
    In den Sessions habe ich ein Array mit
    $s_linkarray[] = 0;
    session_register("s_linkarray");
    eingetragen.
    Seite1:
    $s_linkarray = $fragen; => hier steht im linkarray noch alles richtig drinnen
    Seite2:
    Hier steht in $s_linkarray nur mehr Mist drinnen. Es schreibt mir den Text "Array" hinein und zwar so:
    $fragen[0] => A
    $fragen[1] => r
    $fragen[2] => r
    $fragen[3] => a
    $fragen[4] => y

    und es lassen sich auf Seite2 auch händisch nicht mehr mehr als 1 Zeichen pro Element eintragen.
    Was mache ich falsch?
    P.S.: über die Sessions würde ich es lieber lösen [​IMG]
     
  2. Sir Q

    Sir Q Rheinischer Winterrambour

    Dabei seit:
    12.04.05
    Beiträge:
    921
    Mit Formularen in der Form:

    <input type="hidden" name="array[key][1]" value="value1" />
    <input type="hidden" name="array[key][2]" value="value2" />
    <input type="hidden" name="array[key][3]" value="value3" />
    <input type="hidden" name="array[key][4]" value="value4" />


    sind Arrays, mehrdimensionale Arrays und viele schöne Konstrukte machbar.

    ~

    Ich würde Daten aber immer in der Session mitschleifen. Große Arrays von z.B. Webshops sollten nicht in jeder Seite mitgeschickt werden. Seiten wie Amazon und eBay lassen sie persé nur mit cookies verwenden, die Übertragung von Daten per POST oder GET ist bei denen aus sicherheitsgründen für den user inaktiviert …
     
  3. Hi!

    Diese Möglichkeit ist aber umständlich, wenn das Array theoretisch unendlich groß werden kann, bzw. ich nicht weiß, wie groß es ist oder? Weil ich muss dann jeden Eintrag einzeln übergeben...?
     
  4. Toddy

    Toddy Wohlschmecker aus Vierlanden

    Dabei seit:
    10.05.04
    Beiträge:
    240
    Nixda session_register() ;)

    einfach nur

    Code:
    $_SESSION['array'] = $array;
    und gut is, auf der nächsten Seite greifst du dann entweder direkt auf die $_SESSION Variable zu oder stellst mit
    Code:
    $array = $_SESSION['array'];
    deine Ursprungsform wieder her.

    PS: Siehe dazu: das da.
     
  5. Prophet

    Prophet Gast

    Zu möglichkeit 1: Hast du auch ein Form darum gelegt? Im form-Tag wird festgelegt auf welche art die Daten weitergegeben werden. Ausserdem musst du Daten die du auf diese weise weitergibst absenden das heißt du musst irgendwo einen Submit-Button haben.

    Zu möglichkeit 2: Grundsätzlich musst du natürlich Toddys variante anwenden aber hast du auch sichergestellt das du mit session_start() die session auf dieser Seite initialisiert hast?
     
  6. Hi!

    Also erstmal danke für die Hilfe Toddy und Prophet! Ich hab das jetzt so gemacht mit session start(); auf jeder Seite und dann mit dem globalen $_SESSION[] Array. Ich kannte diese Variante nämlich nicht, nur das mit dem Registrieren von den Sessions und des haut ned so toll hin ;). Auf jeden Fall funktionierts jetzt wunderbar !

    Vielen Dank:-D
     

Diese Seite empfehlen