Geschickte Array-Anwendung bei Session-Übergabe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • 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

    Kommentar


    • #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> 
      ?

      Kommentar


      • #4
        Zitat von matcho Beitrag anzeigen
        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]

        Kommentar


        • #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.

          Kommentar


          • #6
            Zitat von matcho Beitrag anzeigen
            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?

            Zitat von matcho Beitrag anzeigen
            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]

            Kommentar


            • #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 ---"

              Kommentar


              • #8
                Zitat von matcho Beitrag anzeigen
                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.

                Kommentar


                • #9
                  sag ich nicht

                  danke für die zahlreichen antworten

                  Kommentar


                  • #10
                    Zitat von wahsaga Beitrag anzeigen
                    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
                    Zuletzt geändert von Slava; 19.08.2009, 09:18.
                    Slava
                    bituniverse.com

                    Kommentar

                    Lädt...
                    X