23. marts 2009 - 17:37Der er
4 kommentarer og 1 løsning
Godkend checkbox og videre til næste side
Jeg har en her noget kode. Meningen er, at man skal afkrydse i en checkbox, hvis man har godkendt, og så skal siden gå videre til den følgende side. I modsat fald kommer der "alertboxe" frem.
<?php echo "<pre>"; if (isset($_POST['accepter'])) { //videre til næste side } else { if (isset($_POST['accikk'])) {
echo "<SCRIPT>alert(\"Du har ikke accepteret!!\"); opener.location.href='$PHP_SELF'; self.close();</SCRIPT>"; } else { echo "<SCRIPT>alert(\"Du har ikke afkrydset noget felt!\"); opener.location.href='$PHP_SELF'; self.close();</SCRIPT>"; } } echo "</pre>"; ?> <html> <head> </head> <body> <form action="<?php $_SERVER[PHP_SELF]?>" method="post"> Kan du acceptere ovennævnte vilkår? <br> <input type="checkbox" name="accepter" value="accepter"> jeg accepterer <br> <input type="checkbox" name="accikk" value="accikk"> Jeg accepterer ikke <br>
<input type="submit" value=" OK "> </form> </body> </html>
Hvilken kode skal jeg lægge ind, for at få siden til at gå videre når brugeren har afkrydset "Jeg accepterer"??
- Men header-funktionen kan kun bruges når der ikke allerede er blevet udskrevet noget, så du må ikke skrive echo '<pre>'; foran. Det bliver du nødt til at flytte længere ned i koden.
OK! Jeg har nu helt sløjfet <pre> - sætningerne, og rykket php-afsnittet ned under </html> koden. Når jeg går ind på siden første gang, kommer den straks med meddelelsen om, at der ikke er afkrydset noget felt. Hvordan får jeg undertrykt den, så den først kommer efter der er blevet trykket på OK?
Det kan du f.eks. gøre ved også at give din submit-knap et name, f.eks. <input type="submit" value=" OK " name="submit"> - og så spørge om den er sat i PHP. Hvis den er det, har du trykket på knappen.
Altså: if (isset($_POST['submit'])) { <alt din anden kode her> }
Desuden: jeg ved ikke om du kom til at sige forkert, men al PHP koden skulle op i toppen, ikke i bunden. Der må ikke udskrives noget HTML-kode før du bruger en header() funktion, så PHP'en skal være allerførst på siden.
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.