|
| 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)
| |
|
|