Ausgabe von Datenstruktur

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Ausgabe von Datenstruktur

    Hallo Board,

    ich bekomme von einer Flash Anwendung ein serealisiertes Array:
    Mit einem deserealisierer, den ich habe lasse ich es wieder zu einer Datenstruktur zusammenfügen.

    PHP Code:
    <?php
    require_once ('./flash_serialize.php');

    $data flash_unserialize($_GET['test']);
    var_dump($data);
    ?>
    Hier ist die Ausgabe:
    PHP Code:
    array(2) {
      [
    "customer"]=>
      array(
    9) {
        [
    "txtMessage"]=>
        
    string(9"Nachricht"
        
    ["txtWeb"]=>
        
    string(7"Website"
        
    ["txtEmail"]=>
        
    string(5"Email"
        
    ["txtFax"]=>
        
    string(3"Fax"
        
    ["txtTel"]=>
        
    string(7"Telefon"
        
    ["txtOrt"]=>
        
    string(7"PLZ/Ort"
        
    ["txtStrasse"]=>
        
    string(6"Straße"
        
    ["txtVorname"]=>
        
    string(7"Vorname"
        
    ["txtName"]=>
        
    string(4"Name"
      
    }
      [
    "cardItems"]=>
      
    object(stdClass)(1) {
        [
    10115]=>
        
    object(stdClass)(1) {
          [
    "aItem"]=>
          array(
    8) {
            [
    "noItems"]=>
            
    int(1)
            [
    "description"]=>
            
    string(9"elfenbein"
            
    ["ab12"]=>
            
    string(6"104.30"
            
    ["ab6"]=>
            
    string(6"109.50"
            
    ["ab4"]=>
            
    string(6"114.75"
            
    ["ab1"]=>
            
    string(6"119.90"
            
    ["vpe"]=>
            
    string(9"1 x 25 kg"
            
    ["no"]=>
            
    string(5"10115"
          
    }
        }
      }

    Momentan ist da als Beispiel nur ein Artikel drin(Artikelnummer: 10115).
    Nun möchte ich die Daten per Email verschicken. Dazu muss ich einen Body html String erzeugen.
    Wie kann ich aber nun durch diese Artikelobjekte(cardItems) loopen, um diesen zu erstellen?
    Pickel ? Übergewicht ? Depressionen ?
    Brot, Kartoffeln und Milch sind Gift!
    http://www.paleofood.de

  • #2
    Habe echt einen Eichenwald vor dem Kopf.

    Ich schaffe es nocht nicht einmal mir die Kundendaten ausgeben zu lassen. Es kommt nur undefined index ....

    PHP Code:
    require_once ('./flash_serialize.php');

    $data flash_unserialize($_GET['test']);
    //$customer = array();
    $customer $data['customer'];
    $customer['company']  =  $data['txtUnternehmen'];
    $customer['customerID'] = "";
    $customer['name_f'] = $data['txtVorname'];
    $customer['name_l'] = $data['txtNachname'];
    $customer['email'] = $data['txtEmail'];
    $customer['citycode'] = $data['txt'];
    $customer['city'] = $data['txtOrt'];
    $customer['street'] = $data['txtStrasse'];
    $customer['country'] = "";            
    $customer['tel'] = $data['txtTel'];
    $customer['message'] = $data['txtFax'];
    $customer['message'] = $data['txtNachricht'];

    echo 
    "<pre>";
    print_r($customer);
    echo 
    "</pre>"
    Last edited by antman; 05-10-2005, 12:37.
    Pickel ? Übergewicht ? Depressionen ?
    Brot, Kartoffeln und Milch sind Gift!
    http://www.paleofood.de

    Comment


    • #3
      nicht $data['txtUnternehmen']; sondern $customer['txtUnternehmen'];
      Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
      var_dump(), print_r(), debug_backtrace und echo.
      Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
      Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
      Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

      Comment


      • #4
        entweder
        PHP Code:
        $customer $data['customer']; 
        oder
        PHP Code:
        $customer['name_f'] = $data['customer']['txtVorname'];
        ... 

        Comment


        • #5
          Bist du dir da sicher?

          PHP Code:
          equire_once ('./flash_serialize.php');

          $data flash_unserialize($_GET['test']);
          $customer = array();
          //$customer = $data['customer'];
          $customer['company']  =  $data['customer']['txtUnternehmen'];
          $customer['customerID'] = "";
          $customer['name_f'] = $data['customer']['txtVorname'];
          $customer['name_l'] = $data['customer']['txtNachname'];
          $customer['email'] = $data['customer']['txtEmail'];
          $customer['citycode'] = $data['customer']['txt'];
          $customer['city'] = $data['customer']['txtOrt'];
          $customer['street'] = $data['customer']['txtStrasse'];
          $customer['country'] = "";            
          $customer['tel'] = $data['customer']['txtTel'];
          $customer['message'] = $data['customer']['txtFax'];
          $customer['message'] = $data['customer']['txtNachricht'];

          echo 
          "<pre>";
          print_r($customer);
          echo 
          "</pre>"
          ergibt nämlich wieder:


          Notice: Undefined index: txtUnternehmen in D:\home\hp1_02\de\katalog\php\order.php on line 7

          Notice: Undefined index: txtVorname in D:\home\hp1_02\de\katalog\php\order.php on line 9

          Notice: Undefined index: txtNachname in D:\home\hp1_02\de\katalog\php\order.php on line 10

          Notice: Undefined index: txtEmail in D:\home\hp1_02\de\katalog\php\order.php on line 11

          Notice: Undefined index: txt in D:\home\hp1_02\de\katalog\php\order.php on line 12

          Notice: Undefined index: txtOrt in D:\home\hp1_02\de\katalog\php\order.php on line 13

          Notice: Undefined index: txtStrasse in D:\home\hp1_02\de\katalog\php\order.php on line 14

          Notice: Undefined index: txtTel in D:\home\hp1_02\de\katalog\php\order.php on line 16

          Notice: Undefined index: txtFax in D:\home\hp1_02\de\katalog\php\order.php on line 17

          Notice: Undefined index: txtNachricht in D:\home\hp1_02\de\katalog\php\order.php on line 18

          Array
          (
          [company] =>
          [customerID] =>
          [name_f] =>
          [name_l] =>
          [email] =>
          [citycode] =>
          [city] =>
          [street] =>
          [country] =>
          [tel] =>
          [message] =>
          )
          EDIT:
          by TobiaZ: Fehlermeldungen gehören in Quote-Tags.
          Last edited by TobiaZ; 05-10-2005, 13:32.
          Pickel ? Übergewicht ? Depressionen ?
          Brot, Kartoffeln und Milch sind Gift!
          http://www.paleofood.de

          Comment


          • #6
            Steckt der Teufel in diesem Array?
            Ich kann mich auf den Kopf stellen. Es geht einfach nicht.

            Das kann doch wohl nicht mein ernst sein.
            Ist das Problem so simpel, dass ich es übersehe?

            Hilfe
            Pickel ? Übergewicht ? Depressionen ?
            Brot, Kartoffeln und Milch sind Gift!
            http://www.paleofood.de

            Comment


            • #7
              Nochmal zum mitschreiben..


              PHP Code:
              <?php
              require_once ('./flash_serialize.php');

              $data flash_unserialize($_GET['test']);

              echo 
              "<pre>";
              print_r($data);
              ?>
              Was kommt da raus?
              gruss Chris

              [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

              Comment


              • #8
                Danke. Es klappt nun. Wie komme ich aber nun an die verschiedenen Artikel? Wie muss man diese adressieren?
                Pickel ? Übergewicht ? Depressionen ?
                Brot, Kartoffeln und Milch sind Gift!
                http://www.paleofood.de

                Comment


                • #9
                  Dann verrat doch für andere die Suchen wie du´s gemacht hast und beantworte meine Frage

                  Ich gehe mal davon aus das du da auch als Array versuchst ranzukommen. Carditems sind aber vom Typ Objekt ( => ) nicht ( [] )
                  gruss Chris

                  [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                  Comment


                  • #10
                    So:

                    PHP Code:
                    $data flash_unserialize($_GET['test']);
                    $customer $data['customer'];
                    echo 
                    "<pre>";
                    print_r($customer);
                    echo 
                    "</pre>";

                    $bestellung .= "<br /><b>Gesamtpreis:</b> EUR  (Netto zzgl. Frachtkosten)";
                    $absender $customer['tName_f']." ".$customer['tName_l'];
                    $bestellueberschrift "<p><b>Bestellung aus dem dentona Online-Shop</b></p>\n";
                    $kaeuferdaten "<b>Kundennummer:</b>---<br />\n".
                                              
                    "<b>Vorname:</b> ".ucfirst($customer['tName_f'])."<br />\n".
                                           
                    "<b>Nachname:</b> ".ucfirst($customer['tName_l'])."<br />\n".
                                           
                    "<b>Email:</b> ".$customer['tEmail']."<br />\n".
                                           
                    "<b>Unternehmen:</b> ".$customer['tCompany']."<br />\n".
                                           
                    "<b>Straße:</b> ".ucfirst($customer['tStreet'])."<br />\n".
                                           
                    "<b>PLZ:</b> ".$customer['tCitycode']."<br />\n".
                                           
                    "<b>Ort:</b> ".ucfirst($customer['tCity'])."<br />\n".
                                           
                    "<b>Land:</b>Deutschland<br />\n".
                                           
                    "<b>Telefon:</b> ".$customer['tTel']."<br />\n".
                                           
                    "<b>Fax:</b> ".$customer['tFax']."<br />\n<hr /><br />".
                                           
                    "<b>Bestellung:</b><br /><br />"
                    Pickel ? Übergewicht ? Depressionen ?
                    Brot, Kartoffeln und Milch sind Gift!
                    http://www.paleofood.de

                    Comment


                    • #11
                      Original geschrieben von hhcm
                      Nochmal zum mitschreiben..


                      PHP Code:
                      <?php
                      require_once ('./flash_serialize.php');

                      $data flash_unserialize($_GET['test']);

                      echo 
                      "<pre>";
                      print_r($data);
                      ?>
                      Was kommt da raus?
                      Das kommt raus:

                      Array
                      (
                      [customer] => Array
                      (
                      [tMessage] => sdf
                      [tWeb] => Website
                      [tEmail] => webmaster@dentona.de
                      [tFax] => 2134
                      [tTel] => 234
                      [tCity] => sdf
                      [tCitycode] => 234
                      [tStreet] => sadf
                      [tName_f] => sdf
                      [tName_l] => sdf
                      [tCompany] => sadf
                      )

                      [cardItems] => stdClass Object
                      (
                      [10111] => stdClass Object
                      (
                      [aItem] => Array
                      (
                      [noItems] => 1
                      [description] => elfenbein
                      [ab12] => 66.40
                      [ab6] => 69.90
                      [ab4] => 72.50
                      [ab1] => 75.50
                      [vpe] => 3 x 5 kg
                      [no] => 10111
                      )

                      )

                      [10115] => stdClass Object
                      (
                      [aItem] => Array
                      (
                      [noItems] => 1
                      [description] => elfenbein
                      [ab12] => 104.30
                      [ab6] => 109.50
                      [ab4] => 114.75
                      [ab1] => 119.90
                      [vpe] => 1 x 25 kg
                      [no] => 10115
                      )

                      )

                      )

                      )

                      EDIT:

                      Ja ich weiß, die sind vom Typ Objekt. Aber wie komme ich an die ran?
                      Muss ja irgendwie duch die durchloopen.
                      Pickel ? Übergewicht ? Depressionen ?
                      Brot, Kartoffeln und Milch sind Gift!
                      http://www.paleofood.de

                      Comment


                      • #12
                        Hmm

                        PHP Code:

                        $artikel 
                        $data['cardItems'];

                        echo 
                        "<pre>";
                        print_r($artikel); 
                        Und da? Normalerweise solltest du da mit

                        PHP Code:
                        $artikel1 $data['cardItems']=>"10115"
                        rankommen.


                        Kannst du nich mal die Get Variable "Test" posten?
                        gruss Chris

                        [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                        Comment


                        • #13
                          PHP Code:
                          echo $_GET['test'
                          Ausgabe:

                          a:2s:8:"customer";a:11s:8:"tMessage";s:6:"sdfsdf";s:4:"tWeb";
                          s:7:"Website";s:6:"tEmail";s:20:"webmaster@na.de";s:4:"tFax";
                          s:3:"234";s:4:"tTel";s:3:"234";s:5:"tCity";s:3:"sdf";s:9:"tCitycode";
                          s:3:"234";s:7:"tStreet";s:2:"df";s:7:"tName_f";s:3:"sdf";
                          s:7:"tName_l";s:3:"sdf";s:8:"tCompany";s:3:"sdf";}
                          s:9:"cardItems";O:8:"stdClass":2i:10111;O:8:"stdClass":1:
                          {s:5:"aItem";a:8s:7:"noItems";i:1;s:11:"description";
                          s:9:"elfenbein";s:4:"ab12";s:5:"66.40";s:3:"ab6";s:5:"69.90";
                          s:3:"ab4";s:5:"72.50";s:3:"ab1";s:5:"75.50";s:3:"vpe";s:8:"3 x 5 kg";s:2:"no";s:5:"10111";}}i:10115;O:8:"stdClass":1s:5:"aItem";
                          a:8s:7:"noItems";i:1;s:11:"description";s:9:"elfenbein";
                          s:4:"ab12";s:6:"104.30";s:3:"ab6";s:6:"109.50";s:3:"ab4";
                          s:6:"114.75";s:3:"ab1";s:6:"119.90";s:3:"vpe";s:9:"1 x 25 kg";s:2:"no";s:5:"10115";}}}}

                          EDIT: Kann den Code nicht vernüftig ausgeben. Der wird immer zu Smilies verarbeitet.
                          Last edited by TobiaZ; 10-10-2005, 15:49.
                          Pickel ? Übergewicht ? Depressionen ?
                          Brot, Kartoffeln und Milch sind Gift!
                          http://www.paleofood.de

                          Comment


                          • #14
                            Und da? Normalerweise solltest du da mit

                            PHP Code:
                            $artikel1 $data['cardItems']=>"10115"
                            rankommen.
                            Ich bräuchte das als Schleife. Statisch bringt mir das ja nichts. Ich weiß doch nicht vorher was im Warenkorb sein wird.
                            Pickel ? Übergewicht ? Depressionen ?
                            Brot, Kartoffeln und Milch sind Gift!
                            http://www.paleofood.de

                            Comment


                            • #15
                              Funktionierts denn wenigstens?
                              gruss Chris

                              [color=blue]Derjenige, der sagt: "Es geht nicht", soll den nicht stoeren, der's gerade tut."[/color]

                              Comment

                              Working...
                              X