problem mit checkbox checked

gruebel-gruebel

Erfahrenes Mitglied
Moin,
hier habe ich das gleiche Problem.
Die checkbox behält ihren wert nicht.

PHP:
<td align=\"right\">";

     if ($_POST['agb'] == '1' )  { $chk="CHECKED"; } else { $chk=""; }
     echo "
       <input type=\"checkbox\" name=\"agb\" value=\"1\"
         ".$chk."
       </input>
     </td>

ein Tipp, es wär nett

grübel-grübel
 
PHP:
     if ($_POST['agb'] == '1' ) {
         $chk=' checked="checked"';
     } else { 
         $chk=""; }
     echo '<input type="checkbox" name="agb" value="1"'.$chk.' /></td>';
Hast einfach vergessen das input-Element zu schliessen.
Vermute, du willtst XHTML-konform schreiben. Dann musst du das Attribut wie oben notieren. Das input-Element würde ich spontan mit dem schlichten Abschluss-Tag schreiben, evtl gibts in manchen Browsern sonst Verwirrung.
 
Danke für die schnelle hilfe.
Habe deine Lösung in mein script gepackt.
Funktioniert leider nicht wenn die Seite neu aufgerufen wird ist der Haken weg.

PHP:
     if ($_POST['agb'] == '1' ) {
         $chk=' checked="checked"';
     } else {
         $chk=""; }
     echo '<input type="checkbox" name="agb" value="1" '.$chk.' /></td>';

gg
 
Hast du "agb" evtl versehentlich mehrmals verwendet?
Kommen die POST-Daten überhaupt an (print_r($_POST))?
Evlt mal Dein Script posten.
 
agb nur einmal.
wo soll ich (print_r($_POST))
habe es so eingebaut wäre das Richtig

PHP:
     if ($_POST['agb'] == '1' ) {
         $chk=' checked="checked"';
     } else {
         $chk=""; }

     echo "(print_r($_POST))";

     echo '<input type="checkbox" name="agb" value="1" '.$chk.' /></td>';

Ergebniss:
Code:
Array ( [email] => rudolf@schmallske.de [anrede] => Firma [vorname] => m [nachname] => Mustermann [strasse] => Musterstraße 2 [plz] => 10101 [ort] => Willnich [land] => Deutschland [zurueck] => Zurück ) 1
die letzte 1 müsste die checkbox sein.

gg
 
die letzte 1 müsste die checkbox sein.

gg

Die letzte 1 ist der Rückgabewert von print_r()....mit der Checkbox hat dies nichts zu tun.
Die Checkbox wird offensichtlich nicht übermittelt, ist also in dem Formular, welches gesendet wird nicht vorhanden oder nicht gecheckt.

Kleiner Tipp:
Solch wichtige Vertragsbestandteile wie das Akzeptieren der AGB solltest du nicht selbst mit einem Wert belegen, selbst wenn das Häkchen vorher irgendwann mal dran war.
Das ist Sache des Users alleine, im Ernstfall ist es eine Möglichkeit das Zustandekommen des Vertrages erfolgreich anzufechten.
 
Den Haken muss der Vertragspartner machen, das ist mir schon klar.
Ich wollte es doch nur Testen ob es funktioniert.
Oder hab ich dich nicht richtig verstanden.

gg
 
Mein Tipp hat nichts mit dem Skript-seitigen Problem zu tun ;)

Was die Checkbox betrifft: sie ist halt nicht da oder nicht gecheckt...warum, kann man anhand des zur Verfügung stehenden Codes nicht sagen.
 
Lasst uns wetten. Ich wette der Submit-Button ist vor den Haken im Script. Das würde bedeuten, dass die nachfolgenden Felder nicht in $_POST reinkommen.

Wenn du nur deine Form zeigst (bereinigt, wie beim ersten Besuch) reicht das schon.

Aber nochmal: Das ist mit hoher Wahrscheinlichkeit anfechtbar. Wie schon geschrieben wurd:
Solch wichtige Vertragsbestandteile wie das Akzeptieren der AGB solltest du nicht selbst mit einem Wert belegen, selbst wenn das Häkchen vorher irgendwann mal dran war.
Das ist Sache des Users alleine, im Ernstfall ist es eine Möglichkeit das Zustandekommen des Vertrages erfolgreich anzufechten.
 
Zuletzt bearbeitet:
Zurück