PHP Bestellformular Aktualisierung

Dieses Thema PHP Bestellformular Aktualisierung im Forum "Webentwicklung, Hosting & Programmierung" wurde erstellt von TRE, 30. Jan. 2007.

Thema: PHP Bestellformular Aktualisierung Guten Morgen Gemeinde, ich habe ein paar Probleme mit einem Bestellformular. Sachverhalt: Ein Kunde wählt per...

  1. TRE
    TRE
    Guten Morgen Gemeinde,

    ich habe ein paar Probleme mit einem Bestellformular.

    Sachverhalt:
    Ein Kunde wählt per Checkboxen Artikel aus. Per POST werden verschiedene Daten (über hidden-Felder) an ein Bestellformular weitergegeben.

    Probleme:
    um eine vordefinierte Menge (1) im Bestellformular einzutragen, übergebe ich die Menge 1 als hidden-feld an das Bestellformular. Leider werden alle Mengenfelder - auch die nicht ausgewählten - an das Bestellformular weiter gegeben. Wenn ich also insgesamt 10 verschiedene Artikel auf der Auswahlseite habe, wird auch die Menge 10 weitergegeben, auch wenn nur zwei Artikel ausgewählt sind. Angezeigt werden aber nur die zwei ausgewählten Artikel.
    Außerdem möchte ich dem Kunden die Möglichkeit geben die Menge im Bestellformular anzupassen und das Formular dann zu aktualisieren. Leider weiß ich gerade aber überhaupt nicht, wie ich das anstellen soll.

    Quellcode:

    Artikelauswahl:
    Code:
    <tr>
      	<td><div align=center><img src=pics/produkte/KMP.jpg alt=KMP-Originaltoner width=50 height=14 /></div></td>
        <td>HP LaserJet<br /> 
          4000 series / 4050 series </td>
        <td class=dot><div align=center><img src=pics/navigation/dot_black.gif alt=Farbe: Schwarz width=8 height=8 /></div></td>
        <td>ca. 10.000 Seiten </td>
        <td>0869,HY00</td>
        <td>C4127X</td>
        <td class=preis>45,95 €</td>
    	<td align=center>
    		<input name=artikel[] type=checkbox value=KMP Rebuild-Toner für HP-LaserJet 4000 Serie />
    			<input name=artikelnr[] type=hidden value=0869,HY00 />
    			<input name=artikelpreis[] type=hidden value=45.95 />
    			<input name=artikelmenge[] type=hidden value=1 />
    		</td>
        </tr>
    
    Bestellformular:

    Code:
    <form action=bestellung.php method=post>
    <table border=0 cellspacing=0 cellpadding=0>
      <tr>
        <td width=106>Name:</td>
        <td width=210><input name=Name type=text class=text id=Name size=35,5 /></td>
        <td width=20> </td>
        <td width=60>Telefon:</td>
        <td width=144><input class=text type=text name=Telefon id=Telefon /></td>
      </tr>
      <tr>
        <td>Straße / Nr. </td>
        <td><input name=Straße type=text class=text id=Straße size=25 />
         <input size=5 class=text type=text name=Nr id=Nr /></td>
        <td> </td>
        <td>Fax:</td>
        <td><input class=text type=text name=Fax id=Fax /></td>
      </tr>
      <tr>
        <td>PLZ / Ort </td>
        <td><input size=8 class=text type=text name=PLZ id=PLZ />
         <input name=Ort type=text class=text id=Ort size=22 /></td>
        <td> </td>
        <td>E-Mail:</td>
        <td><input class=text type=text name=E-Mail id=E-Mail /></td>
      </tr>
      <tr>
        <td>Kundennummer:</td>
        <td><input name=Kundennummer type=text class=text id=Kundennummer size=35,5 /></td>
        <td> </td>
        <td> </td>
        <td> </td>
      </tr>
    </table>
    
    
    <hr />
    <?php
    $anzahl = count ($artikel);
    
    for ($i=0; $i<$anzahl; $i++) {
    	$preis[$i] = $artikelpreis[$i] * $artikelmenge[$i];
    
    		echo $i   ;
            echo Artikel: <input class='text' size='50' name='Artikel' type='text' value='$artikel[$i]'>  ;
            echo Nr: <input class='text' size='8' name='' type='text' value='$artikelnr[$i]'>  ;
            echo Preis/Artikel: <input class='text' size='5' name='Einzelpreis' type='text' value='$artikelpreis[$i]?'>  ;
            echo Menge: <input class='text' size='2' name='Menge' type='text' value='$artikelmenge[$i]'>  ;
            echo Preis: <input class='text' size='5' name='Einzelpreis' type='text' value='$preis[$i]?'>  ;
            echo <hr />;
        }
    ?>
    <p align=right>
    Anzahl Artikel: <?php $aa = array_sum($artikelmenge); echo $aa; ?><br>
    Preis netto: <?php $bb = array_sum($preis); echo $bb; ?>?<br>
    Preis inkl. MwSt: <?php $cc = array_sum($preis)/100*119; ?>
    					<?php if($bb<100){
                         echo  $cc+7.9; }else{
                         echo  $cc;} ?>?</p> 
    </div>
    <div id=noprint>
    <br /><br />
    <table width=570 border=0 cellpadding=0 cellspacing=0>
      <tr>
        <td width=190></td>
    	<td width=190><div align=center><input type=reset name=reset value=Bestellung löschen />
    	</div></td>
        <td width=190><div align=right><input type=submit name=aktualisieren value=Bestellung aktualisieren /></div></td>
      </tr>
    </table>
    
    </div>
    </form>
    
    Kann mir jemand nen Tipp geben? Oder ist mein Vorgehen generell falsch oder zu kompliziert?

    Vielen Dank für eure Hilfe.

    TRE
     
  2. Moin,

    hab dir mal ein Beispiel gebastelt wie du es machen könntest ;)
    http://pcdconny.wintotal-forum.de/beispiele/bestellung.phps

    Das Beispiel ist allerdings noch OHNE jegliche Überprüfung der Benutzereingaben ;)

    Naja, auf das Aussehen hab ich natürlich auch nicht so geachtet :2funny:

    Aja, nochwas ;)
    mit dem if < 100 dann + 7.9 hab ich jetzt nicht wirklich was mit anzufangen gewusst, also hab ich das mal wech gelassen ;)

    Code:
    <?php
    ...
    ...
    if($_POST[reset]) $_POST[artikel] = false;
    ...
    ...
    ?>
    
    Diese Zeile ist dafür da das beim Löschen der Bestellung die Benutzerdaten erhalten bleiben und nur die Artikel gelöscht werden ;)

    Moin moin

    BTW: Habt ihr sowenige Artikel das du die __Hardgecodet__ in die Webseite schreibst, normal macht man das mit ner DB ;)
     
  3. TRE
    TRE
    Super Conny,

    danke dafür :respect:

    Das war ne Lösung, wenn ein Kunde für über 100 Euro bestellt, dann zahlt er keinen Versand.

    Zum einen wir das aktuell ein Testlauf - mal sehen wie die Resonanz ist, zum anderen werden nur ausgewählte Produkte auf diese Weise zu bestellen sein. Wenn das ganze sich gut angeht, dann werde ich einen Shop darüf aufbauen.

    THX nochmal und bis später :1

    Greetz TRE
     
  4. auf jeden Fall bietet sich für solch ein Bestellformular AJAX an, da wird das Formular aktualisiert ohne das die ganze Seite neu geladen werden muss ;)


    Ansonsten, no Prob :1
     
  5. TRE
    TRE
    Ajax entzieht sich noch vollkommen meinem Erfahrungsbereich. Muss ich mir wohl mal ansehen.

    Dein Beispiel hat schon ne Menge brauchbare Teile für meine Idee - ich bin gerade dabei das zu verwursten.
    Wenn ich das Ganze zum Laufen gekriegt habe, werd ich mal nen Ergebnis posten.
    Und wenn ich noch Fragen habe, poste ich die ;)
     
Die Seite wird geladen...

PHP Bestellformular Aktualisierung - Ähnliche Themen

Forum Datum
Bestellformular für die eigene Homepage Webentwicklung, Hosting & Programmierung 24. Juli 2005
Bestellformular Webentwicklung, Hosting & Programmierung 16. Okt. 2002
Bestellformular funzt nur bedingt Webentwicklung, Hosting & Programmierung 19. Nov. 2002
Notebook - 2. Bildschirm schwarz nach Grafiktreiber aktualisierung Windows 10 Forum 7. März 2016
Nach automatischer Systemaktualisierung kein Systemvoot mehr möglich Windows 8 Forum 24. Nov. 2014