aasahMedlem sedan mars 20034 471 inlägg Sökte och hittade lite info men är tyvärr inte säker på att jag fattat... Hur fångar man upp värdet av en checkbox, och spelar själva värdet någon roll? Räcker det inte med om den är satt eller ej?
Säg att jag har en form med en enda checkbox i:
<form method="POST" name="Tst" action="$me" >
Namn <input type="text" name="user" >
<input type="checkbox" name="good" value="1"> Click this box if you are satisfied.
<input type="submit" name="submit" value="Try!" >
Nu vill jag konstatera att namn är nöjd om så är fallet. Vad är då skillnaden mellan:
//alt 1
if (isSet($_POST["good"]))
echo "$_POST['user'] är nöjd! :-)";
else echo "Det var tråkigt att du inte var nöjd... :-(";
//alt 2
if (isSet($_POST["good"]) && $_POST["good"] == '1')
echo "$_POST['user'] är nöjd! :-)";
else echo "Det var tråkigt att du inte var nöjd... :-(";
Hur påverkas detta om boxen (skulle) laddas ikryssad i förväg? Eller det spelar ingen roll vid mottagandet? :q
nkrantzMedlem sedan apr. 2002830 inlägg Om boxen är ikryssad vid förväg så ger det samma resultat som om användaren skulle kryssa i den!
// Nippe
aasahMedlem sedan mars 20034 471 inlägg OK, bra, tack. :)
Men hur skiljer sig omhändertagandet i alt1 och alt2 ifrån varann? Och om alt1 räcker, varför kan den överhuvudtaget ha ett värde då? Det känns som att jag missar något här...
spangoMedlem sedan juni 20008 205 inlägg
aasah skrev:
OK, bra, tack. :)
Men hur skiljer sig omhändertagandet i alt1 och alt2 ifrån varann? Och om alt1 räcker, varför kan den överhuvudtaget ha ett värde då? Det känns som att jag missar något här...
Prova att skicka med GET så ser du hur skillnaden blir, det skickas ett värde för varje ikryssad ruta; följaktligen, kryssas ingen i skickas inget värde. I normalfallet skulle inte alt. 1 eller 2 skilja sig åt, det skulle vara ifall någon försökte paja ditt script genom att skicka annan indata via ett eget formulär eller telnet.
MatteMedlem sedan aug. 20002 975 inlägg Anger du inget value på din Checkbox skickas den med värdet 'on' ifall du bockat för checkboxen.
Det kan finnas lägen då du anger att det är en array du skickar alltså name="good[]".
Då kan du ha olika värde, men samma namn på dina checkboxar, och du skickar en array med de checkboxar du bockat för. Detta är emellanåt mycket användbart.
aasahMedlem sedan mars 20034 471 inlägg Tack, spango & Matte! :D
Nu hade det varit bra att kunna markera två svar som accepterade... Ni har bägge höjt min förståelse en bra bit!
Ska se om jag fattat:
spango skrev:
... I normalfallet skulle inte alt. 1 eller 2 skilja sig åt, det skulle vara ifall någon försökte paja ditt script genom att skicka annan indata via ett eget formulär eller telnet.
Ah! :i Så med andra ord skiljer det sig bara åt om värdet är väsentligt, dvs om man utgår ifrån att den har ett visst värde om variabeln är satt i alt1?
Antingen är den ikryssad eller inte, värdet har ingen betydelse i mitt fall (just nu). Då borde jag lugnt kunna köra på alt1?
Den som försöker paja mitt skript med andra värden kommer inte att bli så värst mycket gladare av det, tror jag. :bla Eftersom värdet i vilket fall som helst bara är taget ur luften och inte påverkar någonting...
Om detta inte stämmer, skrik till, tack! :)
red/ Matte svarade efter det att jag börjat skriva...
spangoMedlem sedan juni 20008 205 inlägg
aasah skrev:
Om detta inte stämmer, skrik till, tack! :)
No need. Obi-wan has taught you well.
SkarreMedlem sedan apr. 20012 427 inlägg
aasah skrev:
red/ Matte svarade efter det att jag börjat skriva...
Haha, tog det fyra timmar att skriva inlägget? ;)
aasahMedlem sedan mars 20034 471 inlägg spango - tack för bekräftelsen att det var rätt! :)
Skarre - :q Då missade jag det väl då... såg det i alla fall inte före mitt eget var postat... :q