ID zum Hochzählen weitergeben

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

  • #16
    wenn $_GET['buy'] deine ID ist, dann solltest du die doch auch im Update Statement verwenden...

    gruss

    Kommentar


    • #17
      nach einer geglückten Gruppenauswahl
      habe ich z.Bsp. 8 Artikel.

      Den 2. Artikel "klicke" ich an und er erscheint im Warenkorb.
      - und eine Summe der angeklickten Artikel ebenfalls.

      Mit diesem klick möchte ich aber auch in der sql-Datei
      in einer "Zähl"-Spalte diesen 2. Artikel hochzählen. (Top-Ten)


      Hochgezählt wird in der Datei, aber immer nur der letzte Artikel aus der
      Gruppenauswahl. Der 2. angeklickte Artikel um den es geht, klappt nicht.
      Zuletzt geändert von pepsi; 28.09.2006, 08:16.

      Kommentar


      • #18
        Hier ist wohl mein Fehler,

        ich finde nicht die korrekte Schreibweise,


        um die Session-ID anzusprechen. Ausserdem verstehe ich nicht,
        wenn '?buy=' . $id .' geworden ist, dass ich dann nicht $id nehmen kann.
        (Hab Sessions-Artikel schon vor- und zurückgelesen)

        PHP-Code:
        "UPDATE naviartikel SET TimesViewed=TimesViewed+1 WHERE ID=$buy");

        Fehler

        "UPDATE naviartikel SET TimesViewed=TimesViewed+1 WHERE ID=$_GET['buy']";

        Fehler 

        Kommentar


        • #19
          richtig escapen!

          PHP-Code:
          mysql_query("UPDATE naviartikel SET TimesViewed=TimesViewed+1 WHERE ID=".$_GET['buy'].""); 
          und da es sich um eine id handel tund wir uns ja nicht hacken lassen wollen..

          PHP-Code:
          mysql_query("UPDATE naviartikel SET TimesViewed=TimesViewed+1 WHERE ID=".intval($_GET['buy']).""); 
          und was intval() macht kannst du ja in der doku nachlesen

          Kommentar


          • #20
            ich finde nicht die korrekte Schreibweise,
            um die Session-ID anzusprechen
            Dann mach davon ein var_dump()
            Ich wette du hast vergessen, dass du beim Einfügen in die Session noch eine weitere Dimension erstellt hast.
            Tipp: $_SESSION['cart'][0]

            Gruss

            tobi
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #21
              dankeschön! (nicht ironisch gemeint)
              jetzt hab ich erst mal Hausaufgaben:
              intval und var_dump (und 2x Gänsefüsschen)
              das dauert ein bisschen,
              denn auf Anhieb hat es noch nicht geklappt. (index-var.....)

              danke, bis später

              Gruss

              Pepsi

              Kommentar


              • #22
                PHP-Code:
                $_SESSION['cart'][0
                hierbei ist die Gesamtzahl im Korb leider bei 1 geblieben
                PHP-Code:

                <pre>
                <?php
                   $a 
                $id;  
                   
                var_dump ($a);
                ?>
                </pre>
                gibt wieder nur die letzte Zeile aus der Tabelle aus.
                (oder welche Form bitte von array?)
                PHP-Code:

                $sql
                = ("UPDATE naviartikel SET TimesViewed=
                TimesViewed+1 WHERE ID="
                .intval($_GET['buy']).""); 
                gibt Notice: Undefined index: buy in ......line 157

                ...hatte noch folgende Zeile verschwiegen:
                PHP-Code:
                header('location: ' $_SERVER['PHP_SELF'] . '?' SID); 

                im Zusammenhang:
                PHP-Code:
                session_start();
                if (!isset(
                $_SESSION['cart'])) {
                  
                $_SESSION['cart'] = array(); 
                }
                if (isset(
                $_GET['buy'])) {
                    
                $_SESSION['cart'][] = $_GET['buy']; 
                 
                header('location: ' $_SERVER['PHP_SELF'] . '?' SID);  
                  exit();
                }



                echo 
                '<td>' $id '</td>';   
                echo 
                '<td><a href="' $_SERVER['PHP_SELF'] .   '?buy=' $id .'">
                bestellen</a><td>'
                ;

                $sql"UPDATE naviartikel SET TimesViewed=TimesViewed+1
                WHERE ID= 
                $id "
                Where ID= ?????
                Mit ängstlichem Gruss
                Pepsi
                Zuletzt geändert von pepsi; 29.09.2006, 12:22.

                Kommentar


                • #23
                  um mich kürzer auszudrücken:
                  PHP-Code:
                  var_dump($_GET['buy']) 
                  Fehlermeldung:
                  Notice: Undefined index: buy in ....php on line 153
                  NULL

                  Gruss

                  Pepsi

                  Kommentar


                  • #24
                    Was verstehst du an der fehlermeldung nicht?

                    (hab nicht den kompletten verlauf gelesen.)

                    Kommentar


                    • #25
                      Hallo

                      hab nach der Fehlermeldung geforscht und ausprobiert
                      ob evtl. Hochkomma nicht stimmt. (ist aber nicht, weil dann ein Konstante-Fehler ausgeben wird)
                      Hätte ich eine andere Schreibweise haben müssen?

                      Mir fehlt nach wie vor eine Variable aus der Session zum hochzählen.
                      Vielleicht kann man dieselbe Session nicht zweimal verwenden:
                      Einmal als href zum Warenkorb
                      und zusätzlich zum sql-TOP-Ten hochzählen.

                      Dann wüßte ich nicht weiter mit einer evtl. "neuen" Session-Variable.
                      ...Es ist die noch dieselbe Frage wie gleich am Anfang.


                      Gruss

                      Pepsi

                      Kommentar


                      • #26
                        mach mal print_r($_GET)

                        Was steht auf der betreffenden zeile in der Adressleiste des Browsers? Bitte KOMPLETTE adresse von vorne bis hinten posten.

                        Kommentar


                        • #27
                          Danke für das Wiederaufnahmeverfahren :-)

                          http://127.0.0.1/home/Shopartikellist.php?

                          Array ( )


                          (Warenkorb wurde gezählt)

                          Kommentar


                          • #28
                            Original geschrieben von pepsi
                            hab nach der Fehlermeldung geforscht und ausprobiert
                            ob evtl. Hochkomma nicht stimmt. (ist aber nicht, weil dann ein Konstante-Fehler ausgeben wird)
                            Hätte ich eine andere Schreibweise haben müssen?
                            $_GET['buy'] passt schon. der fehler kommt, weil buy nicht im url übermittelt wurde. liegt an deinem header location, wozu auch immer der gut sein soll
                            Mir fehlt nach wie vor eine Variable aus der Session zum hochzählen.
                            Vielleicht kann man dieselbe Session nicht zweimal verwenden:
                            Einmal als href zum Warenkorb
                            und zusätzlich zum sql-TOP-Ten hochzählen.
                            deinen code dazu kann ich nicht nachvollziehen.
                            warum machst du nicht den eintrag in die session und das update der datenbank in einem schritt?

                            Kommentar


                            • #29
                              tjaaa, halte mich - nein, klammere mich noch an mein Buch.

                              Deshalb weiss ich nicht, wie ich den Link auf dieselbe Seite
                              gleichzeitig mit update verbinden kann.
                              Hab auch schon leise daran gedacht, aber bitte, bitte, bitte
                              wie geht das in "einem Schwung".

                              header location SID soll abgeschaltete Cookies ersetzen. (So verstehe ich es bis jetzt)

                              hab jetzt header location weg und tatsächlich


                              alles klappt!

                              will's noch gar nicht glauben, weil die Fehlermeldung
                              für's update (index.buy) noch erscheint. (auch nach Neustart)

                              geändert: keine Fehlermeldung mehr!!!!


                              Aber super, bis hierher tausend Dank! An Alle!


                              Gruss

                              Pepsi
                              Zuletzt geändert von pepsi; 29.09.2006, 15:33.

                              Kommentar

                              Lädt...
                              X