checkboxwert
dersvennie
- php
0 wahsaga0 afra0 afra
0 shn0 dersvennie
Hallo,
steh gerade voll vorm Berg obwohl die Lösung mit Sicherheit total simpel ist.
Hab ne checkbox die vom Benutzer ausgewählt werden kann.
Selbige hier:
<strong>Möchten Sie die Seite besuchen :</strong><input type="checkbox" name="work">
Nachdem der User selbige nun angewählt hat wird das Formular abgesendet und folgendes SQL Statement ausgeführt:
$sqlInsert = "INSERT INTO tbl_messages "
. "Set user = '".$_REQUEST['username']."', "
. "date ='".time()."' , "
. "url = '".$_REQUEST['url']."' , "
. "category = '".$_REQUEST['category']."', "
. "work = '".$_REQUEST['work']."',"
. "text = '".$_REQUEST['text']."' ";
mysql_query($sqlInsert);
Wenn die checkbox gesetzt ist is das auch kein Problem aber wenn sie nicht ausgewählt wurde dann gibts den SQL Fehler:
Notice: Undefined index: work in /srv/www//test/Web_Frontend_Webfilter/insert_message.php on line 22.
Mir ist schon klar was PHP mir damit asgen will, aber ich kriegs einfahc nicht in meine Birne rein wie es funzen soll.
Irgendwie müsste es so wie ich das verstehen würde so klappen das ich vor dem INSERT noch irgendwie ne Abfrage einbaue die prüft ob der wert "work" gefüllt ist, wenn nicht dann soll dies gemacht werden.
In die Datenbank eingetragen werden soll lediglich "1" wenn die Box markiert war und "0" wenn die Box nicht markiert war.
Kann mir da mal einer schnell weiterhelfen?
hi,
Wenn die checkbox gesetzt ist is das auch kein Problem aber wenn sie nicht ausgewählt wurde dann gibts den SQL Fehler:
Notice: Undefined index: work in /srv/www//test/Web_Frontend_Webfilter/insert_message.php on line 22.
Mir ist schon klar was PHP mir damit asgen will, aber ich kriegs einfahc nicht in meine Birne rein wie es funzen soll.
So, wie es immer "funzt": Man greift nicht einfach auf Variablen/Elemente zu, von deren Existenz man nicht zweifelsfrei weiss.
Sondern man prüft die Existenz erst mal, Stichworte: isset/empty.
gruß,
wahsaga
Hallo!
if ($_REQUEST['work']) {
$work = 1;
} else {
$work = 0;
}
Wäre etwas was ich so verwenden würde.
Du solltest sowieso keine unvalidierten Daten direkt in die Query schreiben!
Schönen Gruß
Afra
Wahsaga hat es gerade auch geschrieben, wollte natürlich isset() mitverwenden.
if (isset($_REQUEST['work'])) {
$work = 1;
} else {
$work = 0;
}
Schönen Gruß
Servus,
mit print_r($_REQUEST) siehst du sofort, was da nicht stimmt.
Die von dir ja bereits erwaehnte Ueberpruefung kann dann mit isset() erfolgen.
Aber vor allem solltest du dich _dringend_ ueber das Stichwort SQL Injection informieren.
Gruss
Patrick
So erst einmal einen ganz herzlichen Dank !
Wie schon vermutet war das Problem nicht größerer Natur... mit dem isset funktioniert es jetzt einwandfrei.
Thx a lot für die Hilfe
Hallo,
steh gerade voll vorm Berg obwohl die Lösung mit Sicherheit total simpel ist.
Hab ne checkbox die vom Benutzer ausgewählt werden kann.
Selbige hier:<strong>Möchten Sie die Seite besuchen :</strong><input type="checkbox" name="work">
Nachdem der User selbige nun angewählt hat wird das Formular abgesendet und folgendes SQL Statement ausgeführt:
$sqlInsert = "INSERT INTO tbl_messages "
. "Set user = '".$_REQUEST['username']."', "
. "date ='".time()."' , "
. "url = '".$_REQUEST['url']."' , "
. "category = '".$_REQUEST['category']."', "
. "work = '".$_REQUEST['work']."',"
. "text = '".$_REQUEST['text']."' ";
mysql_query($sqlInsert);Wenn die checkbox gesetzt ist is das auch kein Problem aber wenn sie nicht ausgewählt wurde dann gibts den SQL Fehler:
Notice: Undefined index: work in /srv/www//test/Web_Frontend_Webfilter/insert_message.php on line 22.
Mir ist schon klar was PHP mir damit asgen will, aber ich kriegs einfahc nicht in meine Birne rein wie es funzen soll.
Irgendwie müsste es so wie ich das verstehen würde so klappen das ich vor dem INSERT noch irgendwie ne Abfrage einbaue die prüft ob der wert "work" gefüllt ist, wenn nicht dann soll dies gemacht werden.
In die Datenbank eingetragen werden soll lediglich "1" wenn die Box markiert war und "0" wenn die Box nicht markiert war.
Kann mir da mal einer schnell weiterhelfen?