Warenkorbproblem

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

  • Warenkorbproblem

    Hallo,

    ich habe ein Warenkorb und möchte nun hinzufügen das man
    auswählen kann zwischen Vorkasse, Nachnahme und Abholung.

    Hier ein Ausschnitt:

    PHP-Code:
        $gesamtpreis 0;
      
    $ausfuehren mysql_query("SELECT w_id, artikel, artikelnr, anzahl,
     preis, versand, artikel_id FROM warenkorb
       WHERE w_id = '
    $user'");
      if (!
    $ausfuehren) {echo 'Ausfuehren fehler';}
      echo 
    '<table align="left" border="0"><tr><td>';
      
    $waren false;    
      while(
    $row mysql_fetch_assoc($ausfuehren)) {
         if (
    $row['versand'] == "unbekannt" && !$waren) {
           
    $waren true;
           echo 
    '<br><b>Artikel im Warenkorb:</b><br>';
           echo 
    "<form action=\"$PHP_SELF?section=warenkorb\">";
           echo 
    ' <table border="1" width="600">';
           echo 
    '  <tr>';
           echo 
    '   <td>';
           echo 
    '    <b>Anzahl</b>';
           echo 
    '   </td>';
           echo 
    '   <td>';
           echo 
    '    <b>Artikelnummer</b>';
           echo 
    '   </td>';
           echo 
    '   <td>';
           echo 
    '    <b>Artikel</b>';
           echo 
    '   </td>';
           echo 
    '   <td>';
           echo 
    '    <b>Preis</b>';
           echo 
    '   </td>';
           echo 
    '   <td>';
           echo 
    '    <b>L&ouml;schen</b>';
           echo 
    '   </td>';
           echo 
    '   <td>';
           echo 
    '    <b>Lieferstatus</b>';
           echo 
    '   </td>';
           echo 
    '  </tr>';
         }    
         if (
    $row['versand'] == "unbekannt") {
           echo 
    '  <tr>';
           echo 
    '   <td>';
           echo 
    "    <input type=\"text\" name=\"nr".$row['artikel_id']."\" size=\"2
    \" maxlength=\"4\" value=\""
    .$row['anzahl']."\">";
           echo 
    '   </td>';
           echo 
    '   <td>';
           echo 
    "    ".$row['artikelnr'];
           echo 
    '   </td>';
           echo 
    '   <td>';
           echo 
    "    ".$row['artikel'];
           echo 
    '   </td>';
           echo 
    '   <td>';
           
    $gesamtpreis1 += $row['preis']*$row['anzahl'];
           echo 
    "    ".$row['preis']*$row['anzahl'];
           echo 
    '   </td>';
            echo 
    '   <td>';
            echo 
    "    <input type=\"checkbox\" name=\"delete[]\" value=\"".$row
    ['artikel_id']."\">";
            echo 
    '   </td>';
           if (
    $row['versand'] == "unbekannt" || $row['versand'] == "abgeschickt") {
             echo 
    '   <td bgcolor="#FF0000">';
             echo 
    '     &nbsp;';
             echo 
    '   </td>';
           } elseif(
    $row['versand'] == "in Verarbeitung") {
             echo 
    '   <td bgcolor="#FFFF44">';
             echo 
    '     &nbsp;';
             echo 
    '   </td>';
           } elseif(
    $row['versand'] == "Ware abgeschickt") {
             echo 
    '   <td bgcolor="#00FF00">';
             echo 
    '     &nbsp;';
             echo 
    '   </td>';
           }
    /////////////////
          
    }
        }
        include 
    'vars.php';
        if (
    $waren) {
          echo 
    '  </tr>';
          echo 
    '  <tr>';
          echo 
    '   <td colspan="3">';
          echo 
    '   </td>';
          echo 
    '        ';
          echo 
    '   <td>';
          echo 
    '     <b>Gesamt:</b>';
          echo 
    '   </td>';
          echo 
    '   <td colspan="3">';
          echo 
    "    $gesamtpreis1 €";
          echo 
    '   </td>';
          echo 
    '  </tr>';
          echo 
    '  </tr>';
          echo 
    '  <tr>';
          echo 
    '   <td colspan="3">';
          echo 
    '   </td>';
          echo 
    '    ';
          echo 
    '   <td>';
          
          
         echo
    ' <select name="$vers" size="1">
          <option>'
    ;
          echo
    $v_vorkasse Euro Vorkasse ";
          echo
    ' </option>';
          
          echo
    ' <option>';
          echo
    $v_nachname Euro Nachname ";      
          echo
    '</option>';
          
          echo
    ' <option>';
          echo
    $v_abholung Euro bei Abholung";      
          echo
    '</option>';
          
          echo
    ' </select>';

          echo
    "$versa";
          
          
          
          
          echo 
    '     <b>Versandkosten:</b>';
          echo 
    '   </td>';
          echo 
    '   <td colspan="3">';
          echo 
    "    $vers €";
          echo 
    '   </td>';
          echo 
    '  </tr>';
          
        
    $gesamtpreis $vers$gesamtpreis1;      
        
          echo 
    '  </tr>';
          echo 
    '  <tr>';
          echo 
    '   <td colspan="3">';
          echo 
    '   </td>';
          echo 
    '        ';
          echo 
    '   <td>';
          echo 
    '     <b>Gesamtpreis:</b>';
          echo 
    '   </td>';
          echo 
    '   <td colspan="3">';
          echo 
    "    $gesamtpreis €";
          echo 
    '   </td>';
          echo 
    '  </tr>';

          echo 
    ' </table>';
          
    //echo ' <div class="Button"><a class="Button" 
    href="index.php?section=warenkorb&clear=ja">&Auml;ndern</a></div>';
          echo ' 
    <table border="0" width="600"><tr><td>';
          echo ' 
    <input type="submit" value="&Auml;ndern">';
          echo ' 
    <input type="hidden" name="section" value="warenkorb">';
          echo '
    </form>';
          echo ' 
    </td><td align="right"><form action="bestellt.php"><input type="submit" 
    value="Bestellen"></form></td></tr></table>'; 
    Noch holt das Script sich die Versandkosten aus der Variablen $vers !
    Nun würde ich gern über die auswahl im Dropdown die versandkosten bestimmen.

    Es sollte so sein das bei einer auswahl im Dropdown die Variable $vers sich automatisch auf diesen wert einstellt und der Gesamtpreis sich neu berechnet!

    Frage 1: ist mein ansatz so schon mal richtig?
    Frage 2: Oder geht das nur mit JS?

    Fehler: Leider geht beim Dropdown die resetfunktion noch nicht.
    Bin halt noch am suchen.


    Währe nett wenn mir jemand helfen könnte mit einem Ratschlag.

  • #2
    Re: Warenkorbproblem

    Hat es einen bestimmten Grund, warum du den Namen für das Selectfeld aus einer Variablen holst? Verwendest du beim Versuch, den übergebenen Wert auszulesen, auch wirklich den selben Parameternamen?

    Füg deinen Options mal ein value hinzu - an Hand dessen kannst du dann unterscheiden, welche Versandart gewählt wurde.

    Dann informiere dich über register_globals=off, und das man Formulardaten per $_GET/$_POST in Empfang nimmt.

    Und dann nutze mal print_r() um dir anzuschauen, welche Werte dir wirklich in $_GET bzw. $_POST übergeben werden.
    (Du willst die Warenkorbdaten doch nicht wirklich per GET übertragen, oder?)
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Hallo wahsaga,

      Jo das alles klappt jetzt wenn ich es so mache:
      PHP-Code:
            echo' <select name="inhalt" size="1"> <option value="3.95">';
            echo
      $v_vorkasse bei Vorkasse ";
            echo
      ' </option>';
            
            echo
      ' <option value="7.00">';
            echo
      $v_nachname bei Nachname";      
            echo
      '</option>';
            
            echo
      ' <option value="0.00">';
            echo
      $v_abholung bei Abholung";      
            echo
      '</option>';
            
            echo
      ' </select>';
            echo 
      '   </td>';
            echo 
      '   <td colspan="3">';
            echo 
      "    $inhalt €";
            echo 
      '   </td>';
            echo 
      '  </tr>'
      Aber es geht nur wenn ich Auf Ändern klicke.
      Wie bekomme ich es hin das der wert
      PHP-Code:
      <option value="3.95">'; 
      Gleich gesetzt wird? Das is nun mein letztes Problem.

      Währe nett wenn Du noch n Tipp für mich hättest.

      Kommentar


      • #4
        Wie bekomme ich es hin das der wert das der Wert gleich gesetzt wird
        Code:
        <option SELECTED value=3.95>Versand 3.95</option>
        Das selected wählt den entsprechenden Eintrag aus deinem Select-Feld aus. Das könntest du auch mit PHP automatisch an den jeweiligen Eintrag anhängen.

        Kommentar


        • #5
          Das stimmt!
          Aber der wert steht dann aber nicht automatisch in der Variablen $inhalt
          bzw wir der dort nicht ausgegeben!

          Kommentar


          • #6
            Original geschrieben von mara
            Aber der wert steht dann aber nicht automatisch in der Variablen $inhalt
            Dir wurde doch schon gesagt, dass du dich über register_globals=off informieren sollst.
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Habe jetzt mal alles mögliche über
              register_globals / register_globals=off
              gelesen.
              Werde nicht ganz schlau draus.
              Hier unten einer meiner versuche

              PHP-Code:
               echo' </select>';
                    echo 
              '   </td>';
                    echo 
              '   <td colspan="3">';
                    echo 
              "$inhalt €";     // vorher
                    
              echo"".$_REQUEST['inhalt'].""// nachher
                    
              echo '   </td>';
                    echo 
              '  </tr>'
              Aber es geht nicht wirklich.
              POST und GET auch nicht.

              Was mache ich falsch?

              Kommentar


              • #8
                Original geschrieben von mara
                Was mache ich falsch?
                Du ignorierst wertvolle Hinweise - beispielsweise den, dass du dir das, was wirklich übertragen wird, mittels print_r anschauen solltest (empfiehlt sich, <pre>-Tags drum zu setzen).
                I don't believe in rebirth. Actually, I never did in my whole lives.

                Kommentar


                • #9
                  Original geschrieben von wahsaga
                  Du ignorierst wertvolle Hinweise - beispielsweise den, dass du dir das, was wirklich übertragen wird, mittels print_r anschauen solltest (empfiehlt sich, <pre>-Tags drum zu setzen).
                  Das habe ich drinnen!
                  PHP-Code:
                  echo '<pre>'print_r ($_REQUEST); echo '</pre>'
                  Aber ich möchte doch nichts übertragen im eigentlichem sinne.
                  Ich möchte nur das die erste Option sich in der Variablen
                  $inhalt wiederspiegelt.

                  Oder ist das auch ein übertragen?
                  Ich meine so gehts ja bis jezuz nur das der Anfankswert in
                  $inhalt keiner ist!

                  Kommentar


                  • #10
                    Original geschrieben von mara
                    Aber ich möchte doch nichts übertragen im eigentlichem sinne.
                    Ich möchte nur das die erste Option sich in der Variablen
                    $inhalt wiederspiegelt.
                    Ach so ...
                    Ich meine so gehts ja bis jezuz nur das der Anfankswert in
                    $inhalt keiner ist!
                    Ja dann schreib halt einen Anfangswert rein.
                    I don't believe in rebirth. Actually, I never did in my whole lives.

                    Kommentar


                    • #11
                      Das is ja mein problem!

                      wenn ich
                      PHP-Code:
                      <option SELECTED value="3.95"
                      schreibe ist der ja auch drinnen aber auch nur im Puldown und nicht in
                      der Variablen $inhalt.

                      der wert steht dort erst wenn ich submit klicke.

                      Kommentar


                      • #12
                        Original geschrieben von mara
                        wenn ich [...] schreibe ist der ja auch drinnen aber auch nur im Puldown und nicht in der Variablen $inhalt.
                        Natürlich - wieso bitte nimmst du denn an, dass in einer Variablen ein Wert drinstehen würde, wenn du ihn nicht irgendwo hineinschreibst?
                        I don't believe in rebirth. Actually, I never did in my whole lives.

                        Kommentar


                        • #13
                          der wert steht dort erst wenn ich submit klicke.
                          das ist bei serverseitigen sprachen nun mal so. wenn du das zur laufzeit beeinflussen willst, mußt du mit javascript/ajax arbeiten.

                          gruß
                          peter
                          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                          Meine Seite

                          Kommentar

                          Lädt...
                          X