• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Checkbox per ajax - true/false kommt an - Prüfen

Tobi44

Mitglied
Hallo,

komme mir gerade ziemlich blöd vor. Ok, ist nicht jeden Tag, dass ich mit Checkboxen und jquery/ajax arbeite.

Wie ist sicher in PHP zu prüfen, ob die Checkbox gehakt ist oder nicht?
Im Prinzip erhalte ich ja einen stimmenden Rückgabewert (true oder false), je nachdem ob die Box angehakt ist oder nicht. Allerdings lässt dies sich nicht für eine Prüfung verwenden.

<input type="checkbox" id="test" name="auchtest">

Per ajax an PHP:
checkbox: $( '#test' ).is(':checked')

In PHP kommt je nach Anhakung "true" oder "false" an:

$test = $mysqli->real_escape_string(trim($_POST['checkbox']));

echo $test:
true wenn Checkbox gehakt, false wenn nicht. Super.

if ($test == false) {
echo "nicht angehakt";
exit;
}
Das ^ wird quasi ignoriert, egal ob die Box angehakt ist oder nicht.

Wo ist der "Haken"?

Danke
 
Werbung:
isset ist dein Freund

PHP:
if (isset($_POST['checkbox']))
   echo "Checked";
else
   echo "Not checked";
 
Hallo,

danke für deine Antwort!

Das klappt auch nicht.
Das Lustige ist, dass ich mir in der Fehlermeldung, die im Falle einer nicht gesetzten Checkbox ausgegeben werden soll, die Variable $test ausgeben lassen kann. Diese enthält dann korrekt je nach Checkbox-Status entweder true oder false.

Eine if Prüfung darauf ist aber nicht möglich bzw. funktioniert nicht.

Wie kann das sein?

Danke
 
Werbung:
Da ich heute so was in der Art auch brauchte habe ich mal Googeln müßen.
isset ist dein Freund

PHP:
if (isset($_POST['checkbox']))
   echo "Checked";
else
   echo "Not checked";

Das ist ja alles richtig.
Nur ich verstehe das so ,wenn man das nicht über <form action="" sendet und zwar über Ajax ,ist das mit den Auslesen irgendwie anders ,aber bin da nicht durchgestiegen.Oder ich habe alles falsch verstanden.

Da du ja in deinen Script doch sowieso schon Jquery nutzt dann lies die Boxen vorher aus ,und sende true und false mit.
In den Php Script kannst du dann ja eine if abfrage machen ob false oder true gesetzt ist.

Da ich aber keine Ahnung habe ,vergessen wir den Beitrag einfach.Weil will nix falsches sagen.
Aber das ist meine Lösung
http://sebastian1012.bplaced.net/homepagebasti1012/forumscripte/checked.php
 
Hallo,

danke für die Antworten.

@basti1012
Klar, einen Workaround gibt es für fast alle Dinge, die man über einen sauberen bzw. normalen Weg nicht hinbekommt. In diesem Fall ärgere ich mich über meine eigene Dummheit.

@Sempervivum
Danke für Deine Erklärung. Im Nachhinein ist das auch logisch und nachvollziehbar. Drauf gekommen wäre ich selbst vermutlich nicht. Nun kann ich weiterarbeiten.


Danke & Gruß
 
Code:
  $cbval = $_POST['checkbox'];  
      var_dump($cbval);     
   if ($cbval == 'true') {       
     echo 'angehakt';    
    } else {        
    echo 'nicht angehakt';  
      }
so einfach kann es sein.Ich hatte da wieder ein Mist gegoogelt der ganz andere Wege gezeigt hat.
Die meisten auch mit merkwürdigen Wegen (foreach und array usw)
So einfach und Simpel wahr keiner,weil das hätte ich dann natürlich auch genommen.
Nagut wider was dazu gelernt:)
 
Werbung:
Zurück
Oben