Avatar billede cmp77 Nybegynder
11. april 2005 - 10:29 Der er 6 kommentarer og
1 løsning

Problemer med checkbox

Hej

Jeg har en formular på side 1, hvor der bl.a. er følgende checkbox...

<INPUT TYPE=\"Checkbox\" NAME=\"svar[]\" VALUE=\"ja\">

På side 2 henter jeg så resultatet fra formularen...

for ($i = 0; $i < 16; $i++) {

  if(isset($svar[$i])) {
    $status = ja;
  } else {
    $status = nej;
  }

  echo "Du har svaret $status<BR>";

}

Nu er problemet så, at de steder hvor der er svaret "ja", altid bliver vist først, efterfulgt af de steder der er svaret "nej" (blank)... Meningen skulle gerne være at svarene bliver udskrevet i den rækkefølge der blev svaret på dem. Hvad gør jeg forkert??

/cmp77
Avatar billede sukos Juniormester
11. april 2005 - 11:21 #1
if(is_array($_POST["svar"])) {
    foreach($_POST["svar"] as $key => $value) {
    echo $key ." - ". $value ."<br>";
    }
}
Avatar billede cmp77 Nybegynder
12. april 2005 - 16:38 #2
Tak for det hurtige svar, og sorry for den lange responstid fra min side ;)

Jeg har kigget lidt på det, men dit forslag giver ikke helt det ønskede resultat. Hvis jeg f.eks markerer de to første og det sidste af de 16 svarmuligheder, får jeg følgende resultat...

0 - 1
1 - 1
2 - 1
0 - 1
1 - 1
2 - 1
osv. osv. 48 linier i alt...

Jeg vil jo gerne at der spyttes lige så mange svar ud som der er spørgsmål (16). Nyt forslag? :)
Avatar billede sukos Juniormester
12. april 2005 - 20:16 #3
Det er nok bedst at bruge radiobuttons

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<input type="hidden" name="svar" value="true">
<?php
for($i = 1; $i <= 5; $i++) {
Echo"Spm ". $i ."<br>\n";
echo"<input type=\"radio\" name=\"spm_".$i ."\" value=\"Ja\"> Ja <input type=\"radio\" name=\"spm_".$i ."\" value=\"Nej\">Nej <br>\n";
}
?>
<input type="submit" value="Vis">
</form>
<?php
if(isset($_POST["svar"])) {

if(count($_POST) < 6) {
echo"Svar venligst på alle spm!";
    }else{

    for($h = 1; $h <= 5; $h++) {
    echo"Svar til spm ". $h .": ". $_POST["spm_".$h] ."<br />\n";
    }

    }
}

?>
Avatar billede cmp77 Nybegynder
13. april 2005 - 11:20 #4
Hej igen...

Ja, jeg havde faktisk også overvejet at bruge <SELECT>, så er jeg da sikker på at der bliver sendt en value videre til side 2 :-)
Nå, men du skal i hvert fald have mange tak for forsøget. Poster du ikke lige et svar så vi kan få den her tråd lukket, det lader ikke til at der er andre som har en løsning.
Avatar billede sukos Juniormester
13. april 2005 - 13:23 #5
Joh, tak, kan jeg godt.
Avatar billede sukos Juniormester
13. april 2005 - 13:25 #6
Og b.t.w, det er ALT for besværligt at bruge en select!
Langt nemmere og hurtigere med et klik med musen.
Men ok, er jo heller lige helt klar over spm formulering, men til ja og nej svar, er der vist ikke mange som bliver færdige hvis de alle ligger i en select :O)
Avatar billede cmp77 Nybegynder
13. april 2005 - 20:11 #7
Du har ret... Der er stadig et par overvejelser der skal gøres, hehe ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester