Sie befinden sich hier im Forenarchiv von phpforum.de wenn Sie direkt ins Forum möchten, klicken Sie bitte hier. Zur Startseite kommen Sie hier.

Checkboxen/Kontrollkästchen auswerten

Hi,

ich bin neu hier und oute mich auch gleich als absoluten php-Laien. Ich bastele an einem Formular, dessen Daten ich später via email verschicken möchte. Die Checkboxen bereiten mir Probleme. In html habe ich sie folgendermassen angelegt:

<dl>
<dd><ul>
<li><input name="cbutton[]" type="checkbox" value="Q-Management" />
Qualit&auml;tsmanagement </li>
<li> &nbsp;</li>
<li><input name="cbutton[]" type="checkbox" value="Umweltschutz" /> IMATEC/Umweltschutz </li>
</ul></dd>
<dd><ul>
<li><input name="cbutton[]" type="checkbox" value="SixSigma" /> SixSigma allgemein</li>
<li>&nbsp;</li>
<li><input name="cbutton[]" type="checkbox" value="Arbeitssicherheit" /> IMATEC/Arbeitssicherheit </li>
</ul></dd>

Bei der Ausgabe (zunächst testweise nur am Bildschirm) habe ich folgende Befehle verwendet:

echo "<br /><b>Gewünschtes Infomaterial: </b>";
foreach ($_POST['cbutton'] as $element) {
echo $element.", ";
}

Das klappt zwar, aber als Rückmeldung erfolgen nur die Zahlen statt der ausgeschriebenen values.

Kann mir jemand helfen, wie ich das Problem beheben kann?

Vielen Dank!
Karin

Hier gehts zum Orginal Eintrag "Checkboxen/Kontrollkästchen auswerten" im Forum

Antworten

[doc]formular-checkbox[/doc]


2.

Hi,

ich möchte dem Inhaber der Homepage letztendlich via email mitteilen, welches Infomaterial er an Interessenten verschicken soll. Und da die Rückmeldung bisher nur Zahlen bringt, würde ich es gern als Text ausgeschrieben haben, sprich Infomaterial über z.B. Qualitätsmanagement und Aribeitssicherheit o.ä.

Im Moment probiere ich das der Einfachhalt halber halt noch über die Bildschirmausgabe aus, und die ergibt z.B. noch
Gewünschtes Infomaterial: 1, 4 ,was nicht allzu aussagekräftig ist. Mir fehlt einfach die Zuordnung 1=Q-Management usw.

Ciao
Karin


3.

Hallo,

du könntest zuerst ein Array definieren, in etwa so:

$arrayname = array("nichts", "Q-Management", "IMATEC/Umweltschutz", "SixSigma allgemein", "IMATEC/Arbeitssicherheit ");
(das "nichts" steht nur da, weil das beim Wert '0' wäre, und dieser bei dir nicht vorkommt.)

danach würde deine Ausgabe dann so aussehen:

echo "<br /><b>Gewünschtes Infomaterial: </b>";
foreach ($_POST['cbutton'] as $element) {
echo $arrayname[$element] . ", ";
}

Gruss


4.

Hi sidi,

danke für den Tipp, das klappt!
Kannst du mir evtl. auch noch dabei helfen, wie ich es richtig definiere, um es auch als email verschicken zu können? Ich habe mir da zwar jetzt etwas zurechtgebastelt, aber da wird für jedes aktivierte Kontrollkästchen eine separate Mail verschickt.

Viele Grüße
Karin


5.

Hi

natürlich kann ich versuchen dir zu helfen, dafür ist ein Forum da... aber könntest du mal deinen Code vom "E-Mail"-Script hier posten? Dann wäre es einfacher...

Gruss Sidi


6.

Hi sidi,

hier noch mal die Zusammenfassung:

html-code:
<li><input name="cbutton[]" type="checkbox" value="Q-Management" /> Qualit&auml;tsmanagement </li>
<li><input name="cbutton[]" type="checkbox" value="Umweltschutz" /> IMATEC/Umweltschutz </li>
<li><input name="cbutton[]" type="checkbox" value="SixSigma" /> SixSigma allgemein</li>
<li><input name="cbutton[]" type="checkbox" value="Arbeitssicherheit" /> IMATEC/Arbeitssicherheit </li>

usw.

php-Teil:
$content= "<br /><b>Gewünschtes Infomaterial: </b>";
$infomat = $_POST['cbutton'];
$infomat = array('1'=>"Qualitätsmanagement", '2'=>"Umweltschutz", '3'=>"SixSigma allgemein", '4'=>"Arbeitssicherheit", '5'=>"SixSigma/KMU", '6'=>"Leistungen von IMATEC");

foreach ($_POST['cbutton'] as $element) ;
{$content.= $element.", "; }

Mail-Versand:
mail("karinronge@web.de", "Eine email von der IMATEC-Website", "$content", $header)

Problem:
Während bei {echo $element.", "; } z.B.
Gewünschtes Infomaterial: Q-Management, SixSigma, IMATEC-Leistungen,
auf dem Bildschirm ausgegeben wird (korrekt! ),

wird über email lediglich
Gewünschtes Infomaterial: IMATEC-Leistungen,
übermittelt. Die anderen aktivierten Kontrollkästchen werden vermutlich überschrieben(?).

Was mache ich falsch?

Viele Grüsse
Karin


7.

Du weißt schon, dass das Forum Formatierungsmöglichkeiten bietet ?


8.

Hallo Karin,

Zuerst eine kleine Bemerkung zu deinem Code:
Zitat:
$infomat = $_POST['cbutton'];
$infomat = array('1'=>"Qualitätsmanagement", '2'=>"Umweltschutz", '3'=>"SixSigma allgemein", '4'=>"Arbeitssicherheit", '5'=>"SixSigma/KMU", '6'=>"Leistungen von IMATEC");

Das macht überhaupt kein Sinn. zuerst erstellst du eine Variable $infomat = $_POST['cbutton']; und auf der nächsten Zeile überschreibst du diese Variable wieder.... ausserdem benötigst du diese Variable nachher gar nirgens!

ich würde das Problem aber sowieso wieder etwas anders lösen...mein Vorschlag:

html-code:
<li><input name="cbutton1 " type="checkbox" value="Q-Management" /> Qualitätsmanagement </li>
<li><input name="cbutton2 " type="checkbox" value="Umweltschutz" /> IMATEC/Umweltschutz </li>
<li><input name="cbutton3 " type="checkbox" value="SixSigma" /> SixSigma allgemein</li>
<li><input name="cbutton4 " type="checkbox" value="Arbeitssicherheit" /> IMATEC/Arbeitssicherheit </li>

usw...

und dann der PHP-Teil:

Code:                   In Zwischenablage kopieren (nur IE)
1">

Denn Mailversand könntest du dann so belassen, wie du ihn hast! Sollte eigentlich funktionieren...


9.

Hi sidi,

Zitat:
Denn Mailversand könntest du dann so belassen, wie du ihn hast! Sollte eigentlich funktionieren...
Du hast recht - es funktioniert!!! Vielen, vielen Dank, das Wochenende ist gerettet!! ;-)

Ciao
Karin


10.

Zitat:
<li><input name="cbutton[]" type="checkbox" value="Q-Management" /> Qualitätsmanagement </li>
<li><input name="cbutton[]" type="checkbox" value="Umweltschutz" /> IMATEC/Umweltschutz </li>
<li><input name="cbutton[]" type="checkbox" value="SixSigma" /> SixSigma allgemein</li>
<li><input name="cbutton[]" type="checkbox" value="Arbeitssicherheit" /> IMATEC/Arbeitssicherheit </li>

Mit Verlaub - das ist grausam und so programmiert man nicht. Was hat das für einen Nährwert (außer dass es Probleme bereitet, wenn Felder nicht angekreuzt sind), die Checkbuttons alle gleich zu bennen? Wieso nicht so:

Code:                   In Zwischenablage kopieren (nur IE)
2">

Das ist doch um Welten logischer und besser zu verarbeiten.


11.

Hi Rana,

wie gesagt, meine Ahnung von php strebt gegen null ... ich hoffe, das wird sich bald ändern.
sidi hat eine Lösung gefunden, die funktioniert, aber ich bin selbstverständlich auch für andere Vorschläge dankbar.

Viele Grüße
Karin


12.

Zitat:
wie gesagt, meine Ahnung von php strebt gegen null
Dann bist du hier leider falsch, da hier keine Codes programmiert werden, sondern Probleme von PHP Anfängern besprochen werden.


13.

Zitat:
johnpatcher postete
Zitat:
wie gesagt, meine Ahnung von php strebt gegen null
Dann bist du hier leider falsch, da hier keine Codes programmiert werden, sondern Probleme von PHP Anfängern besprochen werden.
Hmm, bei mir war es bisher bei jedem Themenbereich, in den ich mich eingearbeitet habe, so, dass ich am Anfang keine Ahnung davon hatte .... das liegt wohl in der Natur der Sache.
Ich habe sehr wohl versucht, das Problem anhand von Fachliteratur zu lösen, bevor ich meine Frage hier ins Forum gestellt habe. Es ist keinesfalls so, dass ich lediglich darum gebeten habe, man solle mir doch bitte zu meinem Problem einen fertigen Code liefern.

Wenn ich meine Frage in einem PHP-Anfängerforum nicht stellen darf, wo dann??

Karin


14.

Zitat:
Wenn ich meine Frage in einem PHP-Anfängerforum nicht stellen darf, wo dann??
Nein, wenn du dich ernsthaft mit dem Thema beschäftigst, dann darfst du hier jederzeit eine Frage stellen. Allerdings passiert es auch oft, dass Leute einfach nur einen Code haben wollen, und weder davor noch danach etwas mit PHP zu tuen haben.


15.

Zitat:
Allerdings passiert es auch oft, dass Leute einfach nur einen Code haben wollen, und weder davor noch danach etwas mit PHP zu tuen haben.
Keine Sorge, zu denen gehöre ich nicht!
Und wenn ich wieder mal eine Frage habe, würde ich mich freuen, wenn ich hier wieder so tolle Hilfe bekomme!

Karin


Hier gehts zum Orginal Eintrag "Checkboxen/Kontrollkästchen auswerten" im Forum
 
phpforum.de | Impressum | Handy Bundles