HILFE!!! Problem mit einfacher Warenkorbfunktion! :-(

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

  • HILFE!!! Problem mit einfacher Warenkorbfunktion! :-(

    Hallo Leute.

    Ich brauche eure HILFE!!

    Ich habe ein verflixtes Problem und komme einfach nicht auf den Fehler!!
    localhost läuft das einwandfrei nur auf dem Server nicht :-/

    Ich bin gerade dabei einen super schlichten Warenkorb mit sessions aufzubauen.
    Es gibt da die Sessions "Produkte", "anzahl", "grundfarbe", "motivfarbe" und "groeße". Hier sollen alle ausgewählten Produkte in den sessions als array gespeichert werden und später mittels einer foreach-schleife ausgelesen werden.

    Also ich habe jetzt folgenden Code da stehen:

    PHP-Code:

    if(!isset($_SESSION['produkte'])  || empty($_SESSION['produkte'])) 

    $_SESSION['produkte'] = array(); 
    $_SESSION['anzahl'] = array(); 
    $_SESSION['grundfarbe'] = array(); 
    $_SESSION['motivfarbe'] = array(); 
    $_SESSION['groesse'] = array(); 


    $artikel 1
    $grundfarbe 2
    $motivfarbe 4
    $groesse 5

    $_SESSION['produkte'][] = $artikel;               // speichert in der session ab 
    //var_dump($_SESSION['produkte']); 

    $_SESSION['anzahl'][] = $anzahl
    $_SESSION['grundfarbe'][] = $grundfarbe
    $_SESSION['motivfarbe'][] = $motivfarbe
    $_SESSION['groesse'][] = $groesse
    Das erste Produkt lässt sich einwandfrei in den Korb legen.
    Aber wenn ich nun ein zweites produkt in den Warenkorb lege kommt folgender Fehler:

    "Fatal error: [] operator not supported for strings in ... on line 114"

    Die Zeile 114 des obigen Quellcodes ist " $_SESSION['anzahl'][] = $anzahl; "
    wenn ich mal ein vardump auf $_SESSION['anzahl'] direkt vor Zeile 114 setzte zeigt der mir beim "reinlegen" des 1. Produktes folgendes an:

    PHP-Code:
     array(0) { } 
    Wenn ich nun das 2. Produkt in den Warenkorb legen will zeigt der mir auf einmal einen string an:
    Code:

    PHP-Code:
      string(1"1" 
    Wie kann das sein Was mache ich denn falsch?

    Wäre nett wenn ihr mir "übern Berg" helfen könntet. Ich steig da nicht recht hinter. Danke im Voraus!!

  • #2
    Re: HILFE!!! Problem mit einfacher Warenkorbfunktion! :-(

    Ich tippe mal auf register_globals=on als Problemquelle.

    Dann wird $_SESSION['anzahl'] nämlich als die gleiche Variable angesehen wie $anzahl.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      und wie und wo kann man das ausstellen?

      Kommentar


      • #4
        http://www.php.net/manual/de/ini.cor...gister-globals
        http://www.php.net/manual/de/configuration.php
        I don't believe in rebirth. Actually, I never did in my whole lives.

        Kommentar


        • #5
          Danke erstmal für die schnelle Antwort. Also, wenn es da wirklich dran liegt, würde ich noch in 10 jahren nach dem fehler suchen :-)

          Also ich habe mal mit phpinfo(); nachgeschaut.

          Also register_globals steht auf on.

          Ich weiß nur nicht, wo ich die php.ini finde? um das dort auszustellen. phpinfo sagt, die wär im pfad /etc/php.ini

          Aber wenn ich mit meinem ftp-prog. schaue gibt es gar keinen unterordner namens "etc" auch im loginbereich hab ich keine angaben gefunden...

          Kommentar


          • #6
            Bei deinem Webhoster wirst du die php.ini vermutlich nicht ändern dürfen.
            Aber die verlinkte Seite nennt ja noch andere Möglichkeiten, wo man die Einstellungen ändern kann - auf dem Apachen bspw. per .htaccess
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Hmm, ja irgendwie komm ich damit nicht ganz klar...

              Muss ich eine Datei erstellen, die nur ".htaccess" heißt oder muss vor dem "." noch ein name? Muss ich die Datei dann irgendwo einbinden im PHP-Quelltext oder wo muss ich sie auf dem server speichern?

              Kommt in die Datei dann folgender Inhalt?
              php_flag register_globals off

              Sorry, aber ich habe da echt keine Ahnung von und so wirklich verstanden hab ich das in dem link nicht. Wär nett wenn du mir das nochmal sagen könntest. Häng jetzt schon 3 Tage an dem Problem :-/

              Kommentar


              • #8
                Du mußt an register globals nix ändern !

                Sondern an Deinem Script:

                schreib statt $anzahl $_SESSION['anzahl'].

                Das Gleiche gilt für POST, GET, REQUEST und andere superglobale Arrays.

                Kommentar


                • #9
                  Vielen herzlichen Dank! Ich hab es endlich hinbekommen!!!!

                  Kommentar

                  Lädt...
                  X