PHP GET Array übertragen/auslesen



  • Hallo,
    ich will einen Array aus dem Datei index.php an img.test.php übertragen. Ich komme leider nicht zurecht wie das geht!

    index.php

    $arrayTest = array();
    	$arrayTest[0] = 50;
    	$arrayTest[1] = 60; 
    	$arrayTest[2] = 70; 
    	$arrayTest[3] = 80; 
    
    	echo '<img src="img.test.php?a='.$arrayTest.'>';
    

    dann versuche ich es zu lesen in

    img.test.php

    $datay3=array($_GET['a[0]'],$_GET['a[1]'],$_GET['a[2]'],$_GET['a[3]']);
    

    Wie kann man eigentlich einen per GET übertragenen Array auslesen???



  • Sessions.
    GET ist für so etwas nicht gedacht 😉
    Bzw. ist es mit Sessions wesentlich bequemer. Aber in fast allen Fällen liegt ein Designfehler vor, wenn du wirklich die Daten eines Scripts an ein anderes übertragen musst!



  • Danke an Unique86

    Hey

    du kannst das Array nicht direkt via GET übertragen, da GET nur einen String verarbeiten kann ...

    Ich würde es jetzt einfach so lösen ...

    aufruf.php

    PHP-Code:

    <?php
    
        $arrayTest = array();
        $arrayTest[0] = 50;
        $arrayTest[1] = 60;
        $arrayTest[2] = 70;
        $arrayTest[3] = 80;
    
        $array = implode(",",$arrayTest);
    
        echo '<img src="img.test.php?a='.$array.'">';
    
    ?>
    

    img.test.php

    PHP-Code:

    <?php
    
        $array = explode(",",$_GET['a']);
    
        $datay3=array($array [0],$array [1],$array [2],$array [3]);
    
    ?>
    

    Vllt. gibt es noch bessere möglichkeiten aber denke damit sei dir schon etwas geholfen ...

    Gruss Sven



  • Don_Pazo schrieb:

    Hallo,
    ich will einen Array aus dem Datei index.php an img.test.php übertragen. Ich komme leider nicht zurecht wie das geht!

    Mit serialize kannst du dein Array in einen übertragbaren String und mit unserialize wieder zurück in ein Array umwandeln.

    index.php:

    $array = array (50, 60, 70, 80);
    $array = urlencode (serialize ($array));
    
    echo '<img src="img.test.php?a=' . $array . '>';
    

    img.test.php:

    $array = (array)unserialize ($_GET['a']));
    

    Anstatt urlencode könntest du auch base64_encode verwenden.


Anmelden zum Antworten