/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Checkboksen tjekkes ikke
Fra : Britt Malka


Dato : 09-04-04 16:46

Jeg har lavet en formular, der skal tjekke, at alle felter er udfyldt,
og at der er sat flueben i checkboksen.

Desværre tjekkes checkboksen ikke

Når jeg kigger i kildekoden, er value="", men det er scriptet ligeglad
med. Jeg har derfor prøvet at tilføje $betingelser == "off", men det
ændrer heller ikke noget.

Hvad gør jeg galt?

Jeg har plukket det ud af koden, som vedrører checkboksen:

I funktionen print_form() har jeg disse to koder vedr. tjekfeltet:

$fields = array("betingelser_required" => "checkbox");
$labels = array("betingelser_required" => "Jeg har læst og
accepterer (osv) ...");

I funktionen check_form() har jeg bl.a. følgende:

$betingelser = $_REQUEST['betingelser_required'];
foreach($HTTP_POST_VARS as $key => $value) {
if(($value == "") || ($betingelser == "off") && eregi("_required$",
$key)){
$error[$key] = true;
$print_again = true;
} else {
$error[$key] = false;
}
}

Men selv om tjekfeltet "betingelser" ikke er udfyldt, kan man snildt
få godkendt sin tilmelding.

Det er jo ikke meningen.
--
Britt Malka
Tilmeld dig nyhedsbrev og få gratis ebog om html - http://www.tips-og-tricks.com/ebog.html
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)

 
 
Thomas Lindgaard (09-04-2004)
Kommentar
Fra : Thomas Lindgaard


Dato : 09-04-04 22:23

On Fri, 09 Apr 2004 17:46:19 +0200, Britt Malka wrote:

> Når jeg kigger i kildekoden, er value="", men det er scriptet ligeglad
> med.

Jeg er ikke helt sikker på hvad du mener... men hvis du i din HTML har en
checkboks der ser ud som følger:

<input type="checkbox" name="checkmig" value="" />

og du sætter et hak i boksen og submitter, så vil du i din PHP have:

$_POST = array(
... => ...,
checkmig => "",
... => ...
);

Hvis du så spørger på checkmig:

if ( $_POST['checkmig'] )
{
print "juhuu";
}
else
{
print "buhuu";
}

så vil resultatet være buhuu idet tom streng evaluerer til false - dvs.
selvom man hakker boksen af så kan PHP ikke "se det". Hvis du i stedet
spørger på

if ( isset($_POST['checkmig']) )

vil resultatet være juhuu.

Hjælper det dig?
/Thomas

[tænke tænke] ... det var vist det modsatte af dit problem - men nu
sender jeg det alligevel

Britt Malka (11-04-2004)
Kommentar
Fra : Britt Malka


Dato : 11-04-04 14:22

Hej Thomas

On Fri, 09 Apr 2004 23:22:37 +0200, Thomas Lindgaard
<thomas@it-snedkeren.BLACK_HOLE.dk> wrote:

>så vil resultatet være buhuu idet tom streng evaluerer til false - dvs.
>selvom man hakker boksen af så kan PHP ikke "se det".

Det var jeg ikke klar over.

>Hvis du i stedet
>spørger på
>
> if ( isset($_POST['checkmig']) )
>
>vil resultatet være juhuu.
>
>Hjælper det dig?

Ja, tak. Det hjalp, men den virker stadig ikke. Dog må jeg være på
rette vej.

>[tænke tænke] ... det var vist det modsatte af dit problem - men nu
>sender jeg det alligevel

Nej, faktisk tror jeg, at problemet ligger i den retning, fordi
scriptet var helt ligeglad med, om jeg havde sat hak i feltet eller
ej. Nu tjekker jeg i det mindste på det.

Når det stadig ikke virker, tror jeg, at det hænger sammen med, at
værdien "tjekmærket" ikke bliver gemt, men forsvinder, når jeg klikker
på submit-knappen.
--
Britt Malka
Tilmeld dig nyhedsbrev og få gratis ebog om html - http://www.tips-og-tricks.com/ebog.html
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)

Britt Malka (11-04-2004)
Kommentar
Fra : Britt Malka


Dato : 11-04-04 15:20

Hej Thomas

Jeg fatter ikke, hvad der er galt.

On Fri, 09 Apr 2004 23:22:37 +0200, Thomas Lindgaard
<thomas@it-snedkeren.BLACK_HOLE.dk> wrote:

> <input type="checkbox" name="checkmig" value="" />

Ja, nu har jeg endda lavet en, der hedder:

<input type="checkbox" name="checkmig" checked>

Når jeg spørger således:

> if ( isset($_POST['checkmig']) )
>
>vil resultatet være juhuu.

Siger den stadig, at resultatet er buhuu

Det er garanteret et eller andet elementært, men ...
--
Britt Malka
Tilmeld dig nyhedsbrev og få gratis ebog om html - http://www.tips-og-tricks.com/ebog.html
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)

Allan E (10-04-2004)
Kommentar
Fra : Allan E


Dato : 10-04-04 10:10

On Fri, 09 Apr 2004 17:46:19 +0200, Britt Malka <news@foxladi.com>
wrote:

>Jeg har lavet en formular, der skal tjekke, at alle felter er udfyldt,
>og at der er sat flueben i checkboksen.
>
>Desværre tjekkes checkboksen ikke

Vær opmærksom på at hvis en checkbox ikke chekkes, så bliver den ikke
sendt med til dit script. Du kan altså tjekke som den er markeret ved
at tjekke om din variabel er sat.
Fx
if(isset($chekbox)){
   //yes den er tjekket
}else{
   //Nej okay, den blev ikke tjekket
}

Mvh Allan E

Britt Malka (11-04-2004)
Kommentar
Fra : Britt Malka


Dato : 11-04-04 14:05

On Sat, 10 Apr 2004 11:09:42 +0200, Allan E <allan_ege@hotmail.com>
wrote:

> Du kan altså tjekke som den er markeret ved
>at tjekke om din variabel er sat.

Tak for script-stumpen, der har fået mig på sporet af, at der er noget
galt - jo, det vidste jeg - men selv om jeg sætter hak i boksen, så
får jeg at vide, at der ikke er sat hak i boksen.

Lige så snart jeg klikker på submit-knappen, forsvinder hakket nemlig.
--
Britt Malka
Tilmeld dig nyhedsbrev og få gratis ebog om html - http://www.tips-og-tricks.com/ebog.html
(Svar ikke til denne e-mail-adresse. Mail slettes på serveren p.g.a. spam)

Søg
Reklame
Statistik
Spørgsmål : 177560
Tips : 31968
Nyheder : 719565
Indlæg : 6408943
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste