Geschickte Array-Anwendung bei Session-Übergabe

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

  • Geschickte Array-Anwendung bei Session-Übergabe

    Hallo,

    ich möchte über eine kleine Produktseite mit max. 6-7 Artikeln dem User die Möglichkeit geben, einzelne Produktpakete ihrem "Warenkorb" hinzuzufügen.
    Diese Auswahl sollte in Sessionvariablen gespeichert werden und auf nachfolgenden Webseiten wieder verwendet werden.

    So sollte in etwa das Array der Produktpalette aussehen:

    PHP Code:
    $paket = array(
            
    "Paket_XS"    => array("Paket XS"20100479.00),
            
    "Paket_S"   => array("Paket S"20100599.00),
            
    "Paket_M"   => array("Paket M"201007189.00),
            
    "Paket_L"   => array("Paket L"201008279.00),
            
    "Paket_XL"  => array("Paket XL"201012379.00),
            
    "Paket_XXL" => array("Paket XXL"201015499.00)
                    ); 
    Wie sollte nun aber das "In den Warenkorb" - Formular aussehen und mit welchem genauen Namen, so dass das Array-Element über $_POST klar definiert ist und an die Sessionvariable übergeben werden kann.

    Bin für jegliche Ansätze und Verbesserungsvorschläge sehr dankbar.

    LG

  • #2
    Wo ist dein Problem?
    Du hast freie Auswahl bei den Bezeichnern...
    Wir werden alle sterben

    Comment


    • #3
      ich bin mir nicht genau im klaren, wie ich die einzelnen array-elemente im formular anspreche und wie diese auswahl am besten übergeben werden soll an die session...


      PHP Code:
      <form action="?content=produkte" method="post">"
      <h2>Paket S</h2>
      <input type="
      hidden" name="paket["Paket_S"]">
      <input type="
      submit" value="In den Warenkorb" />
      </form> 
      ?

      Comment


      • #4
        Originally posted by matcho View Post
        PHP Code:
        <form action="?content=produkte" method="post">"
        <h2>Paket S</h2>
        <input type="
        hidden" name="paket[Paket_S]"><!-- den Key ohne Gänsefüßchen -->
        <input type="
        submit" value="In den Warenkorb" />
        </form> 
        Wenn's immer noch nicht geht, bitte nochmal genauer schreiben, worum es geht, was du schon hast, was du erwartest und das alles...

        Gruß,

        Anja
        [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
        Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
        Super, danke!
        [/COLOR]

        Comment


        • #5
          Ok, dann schieben wir die Sache mit der Session erstmal nach hinten, denn schließlich funktioniert es schon bei der Übergabe des Formulars nicht richtig.

          Das Produkt-Array sollte wie folgt aussehen:

          PHP Code:
          $paket = array(
                  
          "Paket_XS"    => array("Paket XS"20100479.00),
                  
          "Paket_S"   => array("Paket S"20100599.00),
                  
          "Paket_M"   => array("Paket M"201007189.00),
                  
          "Paket_L"   => array("Paket L"201008279.00),
                  
          "Paket_XL"  => array("Paket XL"201012379.00),
                  
          "Paket_XXL" => array("Paket XXL"201015499.00)
                          ); 
          Jetzt sollte über das Formular das Array Paket_XS in einer Variablen gespeichert und komplett ausgegeben werden.

          PHP Code:
          <form action="?content=produkte" method="post">
          <
          h2>Paket S</h2>
          <
          input type="hidden" name="paket[Paket_S]">
          <
          input type="submit" value="In den Warenkorb" />
          </
          form
          Ausgabe:
          PHP Code:
          echo $_POST['paket'
          gibt Array aus, sollte aber das aus dem Formular gewählte Paket ausgeben.

          Comment


          • #6
            Originally posted by matcho View Post
            PHP Code:
            $paket = array(
                    
            "Paket_XS"    => array("Paket XS"20100479.00),
                    
            "Paket_S"   => array("Paket S"20100599.00),
                    
            "Paket_M"   => array("Paket M"201007189.00),
                    
            "Paket_L"   => array("Paket L"201008279.00),
                    
            "Paket_XL"  => array("Paket XL"201012379.00),
                    
            "Paket_XXL" => array("Paket XXL"201015499.00)
                            ); 
            Warum die doppelte Betitelung?

            Originally posted by matcho View Post
            PHP Code:
            echo $_POST['paket'
            gibt Array aus, sollte aber das aus dem Formular gewählte Paket ausgeben.
            Schau dir mal in der Doku den Unterschied von echo, print_r, var_dump und var_export an. Echo funktioniert so nicht für Arrays.
            [COLOR="DarkSlateGray"]Hast du die [COLOR="DarkSlateGray"]Grundlagen zur Fehlersuche[/color] gelesen? Hast du Code-Tags benutzt?
            Hast du als URL oder Domain-Beispiele example.com, example.net oder example.org benutzt?
            Super, danke!
            [/COLOR]

            Comment


            • #7
              PHP: array - Manual
              PHP: print_r - Manual
              Arrays (PHP-Tutorial) Tipp!

              mfg streuner
              Erst wenn der letzte FTP Server kostenpflichtig, der letzte GNU-Sourcecode verkauft, der letzte Algorithmus patentiert,
              der letzte Netzknoten verkommerzialisert ist, werdet Ihr merken, dass Geld nicht von alleine programmiert.

              "Diese Software verdient die 3 großen GGG: --- Gesehen --- Gelacht --- Gelöscht ---"

              Comment


              • #8
                Originally posted by matcho View Post
                PHP Code:
                $paket = array(
                        
                "Paket_XS"    => array("Paket XS"20100479.00),
                        
                "Paket_S"   => array("Paket S"20100599.00), 
                Warum willst du den Paketnamen eigentlich doppelt vorhalten?
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Comment


                • #9
                  sag ich nicht

                  danke für die zahlreichen antworten

                  Comment


                  • #10
                    Originally posted by wahsaga View Post
                    Warum willst du den Paketnamen eigentlich doppelt vorhalten?
                    und wenn man nicht weis, wie man bei dem Array sein Key ausliest?
                    außerdem sicher ist sicher
                    Last edited by Slava; 19-08-2009, 08:18.
                    Slava
                    bituniverse.com

                    Comment

                    Working...
                    X