Problem mit "Warenkorb"

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

  • #16
    $value['art'] lese ich aus der Session aus

    Kommentar


    • #17
      habe noch eine Fehlermeldung entdeckt und zwar in dieser Zeile:

      PHP-Code:

      <form name="form1" action="<?php echo $PHP_SELF;?>" method="post">
      Undefined variable: PHP_SELF...

      Kommentar


      • #18
        $_SERVER['PHP_SELF']

        Kommentar


        • #19
          daran lag es wohl. Komisch letztens ging es mit dem anderen Code-Schnipsel noch.

          Kommentar


          • #20
            register globals

            Kommentar


            • #21
              mal wieder ne Fehlermeldung:


              Notice: Use of undefined constant cb - assumed 'cb'


              in der Zeile

              if (isset($_POST['loeschen']) && isset($_POST[cb][$art]))

              das hat sicherlich was mit

              PHP-Code:

              echo '<p><input type="checkbox" name="cb[' $art ']"></p>'
              zu tun.

              Kommentar


              • #22
                machs so:

                PHP-Code:
                echo '<p><input type="checkbox" name="cb[]"></p>'

                Kommentar


                • #23
                  jetzt hagelte es Fehlermeldungen

                  Notice: Uninitialized string offset: 0 in C:\Xampp\htdocs\workspace\WebseiteWD\WebContent\php\warenkorb-all.php on line 192, 195, 198, 201

                  //Kategorie bestimmen
                  switch ($value['kat']) {
                  case 1 :
                  $i = 'w';
                  break;
                  case 2 :
                  $i = 'r';
                  break;
                  case 3 :
                  $i = 's';
                  break;
                  case 4 :
                  $i = 'p';
                  break;
                  }

                  Notice: Uninitialized string offset: 0 in C:\Xampp\htdocs\workspace\WebseiteWD\WebContent\php\warenkorb-all.php on line 206

                  $sql = "Select Abbildung, Nr, Jahrgang, Rebsorte, Flaschenart, Preis from weinshop where wnr= $value[art]";

                  You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1


                  Notice: Undefined variable: cb in C:\Xampp\htdocs\workspace\WebseiteWD\WebContent\php\warenkorb-all.php on line 219

                  $a = $cb[$art];

                  Kommentar


                  • #24
                    ja - logisch, weil Du das Script dann entsprechend umbauen mußt.

                    Wenn Du das nicht hinkriegst, dann machst die Änderung eben wieder rückgängig.

                    Ich würd noch mal von vorne anfangen und das Script Schritt für Schritt testen und erweitern - so ist das nur Gemurkse.
                    Zuletzt geändert von Koala; 31.03.2007, 08:03.

                    Kommentar


                    • #25
                      Original geschrieben von DorfbewohnerBD
                      jetzt hagelte es Fehlermeldungen
                      ist ja grauenvoll

                      Du hast absolut keine Ahnung von PHP! Lerne Grundlagen, dann kannst du wieder anfangen, denn selbst bei den einfachsten Fehlermeldungen weisst du nicht was sie meinen, ist ja unfassbar. Der jenige, der dein "Shop" einsetzt, muss komplett bescheuert sein.

                      Kommentar


                      • #26
                        @Koala: Erst nochmal danke für deine Hilfe gestern. Der Code war wirklich ziemlich komplex.

                        @asp2php: deine Kritik in Ehren, aber nicht jeder ist ein Programmiergott. Als Moderator sollte dir konstruktive Kritik daher nicht unbekannt sein.

                        habe den Code mal auf das Wesentliche verkürzt:

                        PHP-Code:

                        <form name="form1" action="<?php $_SERVER['PHP_SELF']; ?>" method="post">
                        <table border="1" width="756">                 
                                                                                                    
                        <?php

                        //Schleife für checkbox und warenkorb-Ausgabe
                        foreach ($_SESSION['warenkorb'] as $value) {
                            
                            
                        $sql "SELECT Abbildung, Nr, Jahrgang, Rebsorte, Flaschenart, Preis FROM weinshop WHERE wnr= $value[art]";
                            
                        //fügt / hinzu um SQL-Injection abzufangen
                            
                        mysql_real_escape_string($sql);
                            
                        $result mysql_query($sql) OR die(mysql_error());
                            
                        $row mysql_fetch_array($resultMYSQL_ASSOC);
                            
                        $row['bestellmenge'] = $value['menge'];
                            
                        $art $value['art'];

                            
                        //Tabellen-Spalten erzeugen
                            
                        echo '<tr>';
                            echo 
                        '<td width="576" height="64">';
                            echo 
                        '<p><input type="checkbox" name="cb[' $art ']"></p>';
                            echo 
                        '</td>';
                            echo 
                        '<td width="576" height="64">';

                            
                        //Warenkorb ausgeben
                            
                        echo " <p> Nr. " $row["Nr"] . " </p> ";
                            echo 
                        " <p> " $row["Jahrgang"] . " </p> ";
                            echo 
                        " <p> " $row["Rebsorte"] . " </p> ";
                            echo 
                        " <p>Preis &nbsp;" $row["Preis"] . "&nbsp;&euro;</p><br>";

                            
                        //    echo $row['bestellmenge'];
                            //    echo "</pre>";
                            
                        echo ' </td>';
                            echo 
                        '<td width="164" height="64">';

                            
                        //Komma in Punkt umwandeln
                            
                        $preis floatval(str_replace(',''.'$row["Preis"]));
                            
                        $erg = ($preis $row['bestellmenge']);
                            
                        number_format($erg2);
                            
                                        
                        //. in , umwandeln
                            
                        $erg_neu str_replace("."","$erg);
                            
                        //Ausgabe mit Komma
                            
                        echo '<p align="center">' $erg_neu '&nbsp;&euro;</p>';
                            echo 
                        '  </td>';
                            echo 
                        '</tr>';
                        }
                        ?>
                                                </table>
                         <table border="1" width="30%">
                                                        <tr>
                                                            <td width="371">                                        
                                                                <p align="center"><input type="submit" name="loeschen" value="löschen"></p>
                                                               </td></tr></table></form>
                                                               
                        <?
                        //Formular auswerten

                        if (isset ($_POST['loeschen']) && isset ($_POST[cb][$art])) {
                            $_SESSION['warenkorb'][$art] = "";
                        }
                        ?>
                        Fehlermeldung:

                        Notice: Use of undefined constant cb - assumed 'cb' in C:\Xampp\htdocs\workspace\WebseiteWD\WebContent\php\warenkorb-all.php on line 288

                        diese Zeile: if (isset ($_POST['loeschen']) && isset ($_POST[cb][$art]))

                        Hier bin ich leider noch immer nicht weiter gekommen

                        Kommentar


                        • #27
                          Und dir sollte Englisch nicht unbekannt, bzw. du wenigstens in der Lage sein, dir Fehlermeldungen rudimentär zu übersetzen.

                          Notice: Use of undefined constant cb - assumed 'cb' in ...
                          Na, was könnte das denn wohl heissen ...?

                          Was eine Konstante in PHP ist, weisst du doch wohl hoffentlich - sonst lies es jetzt im Handbuch nach.
                          diese Zeile: if (isset ($_POST['loeschen']) && isset ($_POST[cb][$art]))

                          Hier bin ich leider noch immer nicht weiter gekommen
                          Beim Zugriff auf den ersten Wert in $_POST gibt's hier keine Meldung, beim zweiten schon - also vergleiche, was hast du bei beiden Schreibweisen unterschiedlich gemacht?
                          I don't believe in rebirth. Actually, I never did in my whole lives.

                          Kommentar


                          • #28
                            ok, ich hab´s. Es lag an den '.

                            PHP-Code:

                            $_POST
                            ['cb'][$art
                            Wollte damit keine Welle der Empörung lostreten. Nicht, dass mein Statement falsch rüberkam.
                            Zuletzt geändert von DorfbewohnerBD; 01.04.2007, 11:56.

                            Kommentar


                            • #29
                              nach dem Formular soll ggf. ein Artikel aus der SESSION gelöscht werden. Das funktioniert auch, jedoch wird es erst angezeigt, wenn ich zurück zum Shop gehe und dann wiederum in den Warenkorb zurückkehre.


                              PHP-Code:

                              if (isset ($_POST['loeschen']) && isset ($_POST['cb'][$art])) {
                                  unset(
                              $_SESSION['warenkorb'][$art]);

                              Muss ich hierzu noch etwas hinzufügen?

                              Kommentar

                              Lädt...
                              X