Checkbox prüfen

Checkbox prüfen

am 21.06.2006 07:42:02 von Hans Winkler

In meinem Formular wird geprüft,ob die Eingabefelder ausgefüllt wurden.
Wie aber kann ich das Häkchen in der Checkbox prüfen (Häkchen oder
nicht)? So klappt es jedenfalls nicht, denn in beiden Fällen wird der
Fehler ausgegeben:

if(!$checkbox) {$fehler.="Sie müssen die Bedingungen akzeptieren
";}

und so wurde die Box in der Seite definiert


Mit den Bedingungen erklären ich mich einverstanden

Hans

Re: Checkbox prüfen

am 21.06.2006 08:06:13 von Bernd Muent

Hans Winkler schrieb:

> In meinem Formular wird geprüft,ob die Eingabefelder ausgefüllt wurden.
> Wie aber kann ich das Häkchen in der Checkbox prüfen (Häkchen oder
> nicht)? So klappt es jedenfalls nicht, denn in beiden Fällen wird der
> Fehler ausgegeben:
>
> if(!$checkbox) {$fehler.="Sie müssen die Bedingungen akzeptieren
";}

Versuch mal: if (!$_REQUEST["checkbox"])...

Siehe:
http://www.php-faq.de/q/q-formular-register-globals.html

B.

--
BM Computer-Services, Bergmannstr. 66, 10961 Berlin
Webdesign, Internet, Layout und Grafik
Tel.: 030/20649400, mobil 0175/7419517, Fax: 030/20649401
Web: http://www.bmservices.de, eMail: kontakt@bmservices.de

Re: Checkbox prüfen

am 21.06.2006 08:10:51 von Johannes Mueller

Hans Winkler schrieb:

> In meinem Formular wird geprüft,ob die Eingabefelder ausgefüllt
> wurden. Wie aber kann ich das Häkchen in der Checkbox prüfen
> (Häkchen oder nicht)? So klappt es jedenfalls nicht, denn in beiden
> Fällen wird der Fehler ausgegeben:
>
> if(!$checkbox) {$fehler.="Sie müssen die Bedingungen
> akzeptieren
";}
> und so wurde die Box in der Seite definiert
>
> Mit den Bedingungen erklären ich mich einverstanden
>
> Hans

Beim entwickeln, sollte in der php.ini unter dem Abschnitt für
Error-Reports mindestens stehen:

error_reporting = E_ALL

ansonsten empfehle ich noch:

[FAQ]
28.16. Notice: Undefined variable ...
http://www.php-faq.de/q/q-fehler-variable.html

Grüße
Johannes

--
Emails ohne "[nospam]" im Betreff werden kommentarlos gelöscht.

Re: Checkbox prüfen

am 21.06.2006 08:37:26 von Mike

Am Wed, 21 Jun 2006 07:42:02 +0200 schrieb Hans Winkler:

> In meinem Formular wird geprüft,ob die Eingabefelder ausgefüllt wurden.
> Wie aber kann ich das Häkchen in der Checkbox prüfen (Häkchen oder
> nicht)? So klappt es jedenfalls nicht, denn in beiden Fällen wird der
> Fehler ausgegeben:
>
> if(!$checkbox) {$fehler.="Sie müssen die Bedingungen akzeptieren
";}
>
> und so wurde die Box in der Seite definiert
>
>
> Mit den Bedingungen erklären ich mich einverstanden
>
> Hans


Probiers mal so:

if($_POST[checkbox]!="VALUE aus $checkbox") {
$this->errormessage="Fehlertext";}

bzw.

if($_POST[checkbox]!="VALUE aus $checkbox"){
$fehler.="Sie müssen die Bedingungen akzeptieren
";}


Mike

Re: Checkbox prüfen

am 21.06.2006 09:33:26 von Christian Schmelzer

Mike wrote:
> Am Wed, 21 Jun 2006 07:42:02 +0200 schrieb Hans Winkler:
>
>> In meinem Formular wird geprüft,ob die Eingabefelder ausgefüllt
>> wurden. Wie aber kann ich das Häkchen in der Checkbox prüfen
>> (Häkchen oder nicht)? So klappt es jedenfalls nicht, denn in beiden
>> Fällen wird der Fehler ausgegeben:
>>
>> if(!$checkbox) {$fehler.="Sie müssen die Bedingungen
>> akzeptieren
";}
>>
>> und so wurde die Box in der Seite definiert
>>
>> Mit den Bedingungen erklären ich mich einverstanden
>>
>> Hans
>
>
> Probiers mal so:
>
> if($_POST[checkbox]!="VALUE aus $checkbox") {
> $this->errormessage="Fehlertext";}
>
> bzw.
>
> if($_POST[checkbox]!="VALUE aus $checkbox"){
> $fehler.="Sie müssen die Bedingungen akzeptieren
";}
>

Hallo,
schön ist das nicht. Damit bekommst du
Notice: Use of undefined constant checkbox - assumed 'checkbox' in ...

Wenn schon $_POST['checkbox'] ...

Christian

Re: Checkbox prüfen

am 21.06.2006 09:57:34 von Mike

>
> Hallo,
> schön ist das nicht. Damit bekommst du
> Notice: Use of undefined constant checkbox - assumed 'checkbox' in ...
>
> Wenn schon $_POST['checkbox'] ...
>
> Christian



OK, war etwas schlampig, geb ich zu.

Re: Checkbox prüfen

am 21.06.2006 10:08:01 von Ulf Kadner

Christian Schmelzer wrote:

> schön ist das nicht. Damit bekommst du
> Notice: Use of undefined constant checkbox - assumed 'checkbox' in ...
>
> Wenn schon $_POST['checkbox'] ...

Nur der Vollstandigkeit halber:

Notice: Use of undefined Index 'checkbox' in ...
wenn die Checkbox nicht gesetzt ist. :-)

MfG, Ulf

Re: Checkbox prüfen

am 21.06.2006 10:12:50 von Christian Schmelzer

Ulf Kadner wrote:
> Christian Schmelzer wrote:
>
>> schön ist das nicht. Damit bekommst du
>> Notice: Use of undefined constant checkbox - assumed 'checkbox' in
>> ...
>>
>> Wenn schon $_POST['checkbox'] ...
>
> Nur der Vollstandigkeit halber:
>
> Notice: Use of undefined Index 'checkbox' in ...
> wenn die Checkbox nicht gesetzt ist. :-)
>
> MfG, Ulf

Hi,
ok, bin nicht davon ausgegangen das jemand define (checkbox, 'checkbox')
macht :-)

Christian

Re: Checkbox prüfen

am 21.06.2006 10:23:54 von Sven Drieling

Hans Winkler wrote:

Hallo,

> In meinem Formular wird geprüft,ob die Eingabefelder ausgefüllt w=
urden.
> Wie aber kann ich das Häkchen in der Checkbox prüfen
=20
11.10. Wie kann man Checkboxen verarbeiten?
http://www.php-faq.de/q/q-formular-checkbox.html


tschuess
[|8:)

Re: Checkbox prüfen

am 21.06.2006 16:33:00 von Niels Braczek

Hans Winkler schrieb:

Von den anderen Hinweisen abgesehen:

> und so wurde die Box in der Seite definiert
>=20
> x; ?>'>

$checked =3D empty($_REQUEST['checkbox'])) ? '' : 'checked=3D"checked "';=

echo '=
';

MfG
Niels

--=20
| http://www.kolleg.de =B7 Das Portal der Kollegs in Deutschland |
| http://www.bsds.de =B7 BSDS Braczek Software- und DatenSysteme |
| Webdesign =B7 Webhosting =B7 e-Commerce =B7 Joomla! Content Management =
|
------------------------------------------------------------ ------

Re: Checkbox prüfen

am 22.06.2006 10:08:07 von Andreas Hofmann

Hans Winkler schrieb:
> In meinem Formular wird geprüft,ob die Eingabefelder ausgefüllt wurden.
> Wie aber kann ich das Häkchen in der Checkbox prüfen (Häkchen oder
> nicht)? So klappt es jedenfalls nicht, denn in beiden Fällen wird der
> Fehler ausgegeben:
>
> if(!$checkbox) {$fehler.="Sie müssen die Bedingungen akzeptieren
";}
>
> und so wurde die Box in der Seite definiert
>
>
> Mit den Bedingungen erklären ich mich einverstanden

Der Link, den Sven angegeben hat, sollte schon einiges erklären.
Außerdem hilft vielleicht:
http://de.selfhtml.org/html/formulare/auswahl.htm

Leider funktionieren Checkboxen nicht so, wie man sich das wünschen würde,
nämlich eine Übergabe von 0/false, wenn nicht aktiviert, und 1/true, wenn
aktiviert. Stattdessen wird bei einer nicht aktivierten Checkbox gar
nichts übertragen und bei einer aktivierten eine Variable mit dem Namen
der Checkbox (Attribut name) und als Wert das, was in value steht. Was da
drin steht, ist im Prinzip völlig wurscht, d.h. nicht ganz, denn _etwas_
sollte schon drinstehen. Dein Fehler resultiert wahrscheinlich daraus,
dass in $checkbox nichts drin steht und Du deshalb value='' hast.

Am besten überprüfst Du einfach die Existenz der Variablen mit isset, also
isset($checkbox) (wenn register_globals=On) oder eben mit
isset($_POST['checkbox']), isset($_GET['checkbox']) oder
isset($_REQUEST['checkbox']).

Um die Checkbox vorzubelegen, muss das Attribut checked="checked" angegeben
werden. Enter HTML ist auch einfach checked erlaubt, aber man sollte sich
gleich die XHTML-Syntax angewöhnen, dann macht eine spätere Umstellung auf
XHTML nicht so viel Arbeit.

Ich mach das meistens mit einer kleinen Standardfunktion, sieht ungefähr so
aus:

function checked($value) {
return (($value) ? 'checked="checked"' : '';
}

/>

Grüße,

Andreas

Re: Checkbox prüfen

am 22.06.2006 14:35:34 von Hans Winkler

Hans Winkler schrieb:
> In meinem Formular wird geprüft,ob die Eingabefelder ausgefüllt wurden.
> Wie aber kann ich das Häkchen in der Checkbox prüfen (Häkchen oder
> nicht)? So klappt es jedenfalls nicht, denn in beiden Fällen wird der
> Fehler ausgegeben:
>
> if(!$checkbox) {$fehler.="Sie müssen die Bedingungen akzeptieren
";}
>
> und so wurde die Box in der Seite definiert
>
>
> Mit den Bedingungen erklären ich mich einverstanden

Vielen Dank für die Hilfestellung. Ich kannte bisher nur Checkboxen mit
0/1-Ausgabe und sehe gerne immer was neues :-)

Hans