Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Checkbox funktioniert nicht

Einklappen

Neue Werbung 2019

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

  • [Erledigt] Checkbox funktioniert nicht

    Hallo,
    ich habe folgende Checkboxen:
    PHP-Code:
    <input type="checkbox" name="checkbox1" value="1"showmail<br>
    <
    input type="checkbox" name="checkbox2" value="1"showbirthday<br>
    etc
    Diese werden mittels Post gesendet:
    PHP-Code:
    <form method="post" action="changeprivacy.php"
    Im nächsten Script werden sie wie folgt empfangen:
    PHP-Code:
    $showmail mysql_real_escape_string($_POST["checkbox1"]);
    settype($showmail"integer");
    $showbday mysql_real_escape_string($_POST["checkbox2"]);
    settype($showbday"integer"); 
    Als Ergebnis erhalte ich eine Fehlermeldung:
    Notice: Undefined index: checkbox1
    Notice: Undefined index: checkbox2

    Wisst ihr, wo der Fehler liegen könnte, dass das Übermitteln nicht funktioniert?

    MFG


  • #2
    Checkboxen sind nur definiert, wenn sie auch abgehakt werden. Prüfe mit [MAN]isset[/MAN]
    sigpic

    Kommentar


    • #3
      Zitat von Extremefall Beitrag anzeigen
      Diese werden mittels Post gesendet
      Eben nur, wenn sie auch angehakt wurden. Andernfalls nicht! Entweder mit isset() pruefen, oder folgendes Konstrukt verwenden:
      Code:
      <input type="hidden" name="cb" value="0" />
      <input type="checkbox" name="cb" value="1" />
      Gleichnamige Eingabefelder ueberschreiben sich, das letztere findet dabei also Anwendung. Wenn die Checkbox nicht angehakt wurde, wird nur das Hidden-Feld mit dem Defaultwert uebertragen.
      "Mein Name ist Lohse, ich kaufe hier ein."

      Kommentar


      • #4
        Davon ab ist dein Konstrukt mit mysql_real_escape_string und settype nach wie vor Unsinn (das wurde dir aber schonmal gesagt).

        Wenn du aus der Variablen sowieso einen Integer machst, wozu escapst du dann erst einen String? Mach mit intval() oder einem (int)$variable direkt einen Integer draus.
        "Alles im Universum funktioniert, wenn du nur weißt wie du es anwenden musst".

        Kommentar


        • #5
          Wisst ihr, wo der Fehler liegen könnte, dass das Übermitteln nicht funktioniert?
          Ja. Und Du wüsstest es auch, wenn Du langsam mal Grundlagenlektüre lesen würdest. Sowas steht in jedem Tutorial zu Formularverarbeitung, in unserem Wiki, im PHP-Handbuch usw. Ich bins echt leid, hier ständig Pillepallefragen von Dir lesen zu müssen.
          --

          „Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
          Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“


          --

          Kommentar


          • #6
            Danke. Ich hatte alle als aktiviert eingestellt und dachte, dass nun der Wert übertragen wird, wenn sie deaktiviert werden. Da war wohl der Fehler.

            Kommentar

            Lädt...
            X