formular / checkbox zusammenfassung möglich ?

dune911

Erfahrenes Mitglied
hallo zusammen

ich habe ein bestellformular geschrieben, das bisher wunderbar funktioniert. :)

alle eingegebenen textfelder etc. werden auf inhalt überprüft und das format
der email-adresse wird auch überprüft. jetzt habe ich nur ein problem mit
den produkten. es gibt insgesamt 4 verschiedene artikel in dem shop. im
formular wird dann per checkbox ausgewählt, welche der 4 artikel bestellt
werden sollen (eine größere lösung ist bei 4 artikeln momentan nicht nötig :)).

problem 1:
gibt es eine möglichkeit, die checkboxen unter einem namen mit verschiedenen
bezeichnungen abzufragen? also praktisch, ob eine der checkboxen ausgewählt
wurde mit einem "name="?. oder muss ich jede einzelne auf häkchen
überprüfen indem ich teste, ob der name an das formular übergeben
wurde?

problem 2:
die checkboxen haben zB die namen
ART1, ART2, ART3, ART4

ART1 kostet 1 euro
ART2 kostet 2 euro
ART3 kostet 3 euro
ART4 kostet 4 euro

ich muss jetzt anzeigen lassen, welche(r) artikel bestellt wurde und wie
hoch der preis des einzelnen oder mehrerer artikel zusammen ist. hab
schon ne weile nichts mehr mit php gemacht und tu mir deshalb ein bissel
schwer daran. wäre cool, wenn mir jemand mal kurz helfen könnte! :) danke
 
Zu Problem 1:

Du kannst deine Checkboxen in ein Array schreiben. Entweder mit name[] dessen Ergebnis array{'name1','name2','name3','name4', ..usw} (ein numerisches Array) wäre (checkbox 1 ist name[0], checkbox 2 ist name[1], usw.). Oder Du verwendest ein assoziatives Array, dann mußt Du jeder Checkbox einen Namen geben - also name[check1], name[check2], usw.

So, und nun noch etwas zu lesen: http://www.dclp-faq.de/q/q-formular-checkbox.html

Das dürfte Dir helfen =)
 
die ersten beiden probleme sind gelöst :)

jetzt hab ich folgendes problem:

die checkboxen haben die namen:

cbutton[art1], cbutton[art2], etc.

wie kann ich jetzt in eine 'bestätigungsemail'
nur die artikel einfügen, die auch wirklich
bestellt wurden. also eine art abfrage, ob der
jeweilige artikel jetzt bestellt wurde oder nicht.

in der html-ausgabe hab ich das so gelöst:

Code:
if ($cbutton[art1]) { echo "<img src=gfx/ok.gif><br>"; } else { echo "<img src=gfx/ko.gif><br>"; }

soweit ich weiß kann ich im mail befehl keine
abfrage laufen lassen, oder? wie mach ich das
am besten? sind wie gesagt nur 4 artikelchen :)
 
Abfragen IN mail() sind auch unnötig. Es reicht ja den Message-String zu generieren.

Ein kleines Beispiel (ungetestet, dürfte aber funktionieren:

PHP:
<?php
$s_von = "naseweis@daheim.de";
$s_sub = "Bestell-Bestätigung";
// headers & text
$message = "Hallo!\r\n";
$message .= "\r\n";
$message .= "Diese Mail ist KEIN SPAM! Sie erhalten diese automatisch generierte E-Mail zur Bestätigung.\r\n";
if ($cbutton[art1]) {$message .= "Artikel 1: $cbutton[art1]\r\n"; }
if ($cbutton[art2]) {$message .= "Artikel 1: $cbutton[art2]\r\n"; }
if ($cbutton[art3]) {$message .= "Artikel 1: $cbutton[art3]\r\n"; }
if ($cbutton[art4]) {$message .= "Artikel 1: $cbutton[art4]\r\n"; }
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";
$headers .= "X-Priority: 1\r\n";
$headers .= "X-MSMail-Priority: High\r\n";
$headers .= "X-Mailer: php\r\n";
$headers .= "From: Bestell-Bot <admin@localhost>\r\n";
// send mail & echo verification
$mailen = mail($s_an, $s_sub, $message, $headers);
if ($mailen == TRUE){echo "<br>Sie erhalten in k&uuml;rze eine E-Mail zur Best&auml;tigung.<br>Vielen Dank!";}
else{echo "FEHLER BEIM MAILEN !<br>";}
?>

AFAICT sollte das das hier für Dein Problem eine einfache Lösung sein.

HTH!
Greetz,
Neuro
 
Zurück