Avatar billede human Nybegynder
29. april 2008 - 00:15 Der er 12 kommentarer og
1 løsning

Få form til at blive fremme

Hey

Sikkert et simpelt spg. men jeg har glemt alt om hvordan man gør :)

Jeg har et par forms: (forsimplet)

(form1)
<form action="" method="post">
<inout type="submit" name="ok2" value="ok2">
</form>
Når der trykkes på denne knap kommer nedenstående frem:

(form2)
<form action="" method="post"
<input type="submit" name="ok" value="ok">
</form>
Når der trykkes på denne knap kommer dette frem:
Hej hej

Men, når der trykkes på knappen i form2, forsvinder form2 også. Hvordan får jeg den til at blive fremme selvom der trykkes på den?

Det hele foregår på samme side.
Avatar billede human Nybegynder
29. april 2008 - 00:15 #1
Hov, den skulle nok have været under HTML
Avatar billede human Nybegynder
29. april 2008 - 00:20 #2
Jeg må være træt. Form2 kommer self frme med noget php:
if ( isset( $_POST['ok2'] ) ) {
    form2


på samme måde kommer hej hej frem på


if ( isset( $_POST['ok'] ) ) {
    hejhej
Avatar billede jakobdo Ekspert
29. april 2008 - 07:17 #3
Jeg tror du skal vise noget kode!
Du har garanteret noget i stil med:
if ( isset( $_POST['ok'] ) ) {
    hejhej
}else{
//Vis form2
}

Og den kan ikke både skrive hejhej og vise form2.
Avatar billede human Nybegynder
29. april 2008 - 10:31 #4
Der er faktisk ikke rigtig noget kode, tror bare jeg har forklaret mig dumt. Jeg prøver igen:

<form action="<?= $_SERVER['PHP_SELF'] ?>" method="post">
<input type="submit" name="ok" value="ok">
</form>


if ( isset( $_POST['ok'] ) ) {
    print "
//form2
<form action='' method='post'>
<input type='text' name='frys'>
<input type='submit' value='Done' name='Done'>
</form>
}
</select>


if ( isset( $_POST['Done'] ) ) {

    print "".$_GET['frys']."";

}

Når der trykkes på "ok" bliver form2 vist. Hvis der trykkes på Done i form2, skal form2 forblive vist, men samtidig skal ".$_GET['frys']." blive udskrevet. Det er de 2 sidste ting der kikser. Form2 forsvinder og der bliver ikke udskrevet noget.

Var det mere forståeligt? :)
Avatar billede jakobdo Ekspert
29. april 2008 - 10:41 #5
Ret denne linje:
if ( isset( $_POST['ok'] ) )
til:
if ( isset( $_POST['ok'] ) && isset( $_POST['Done'] ) )
Avatar billede human Nybegynder
29. april 2008 - 10:47 #6
Så bliver form2 slet ikke vist ved tryk på ok i form1.
Avatar billede jakobdo Ekspert
29. april 2008 - 10:52 #7
Sorry, && skal jo være || :o(
Avatar billede human Nybegynder
29. april 2008 - 11:10 #8
Nice, så virker det første, tak! :)

Men ".$_GET['frys']."  bliver stadig ikke udskrevet ved tryk på Done i form2.
Avatar billede jakobdo Ekspert
29. april 2008 - 11:18 #9
Du skal rette:
print "".$_GET['frys']."";
til:
print "".$_POST['frys']."";

Du bruger nemlig: method='post' og derfor skal det være $_POST og ikke $_GET
Avatar billede human Nybegynder
29. april 2008 - 12:18 #10
Tester når jeg kommer hjem i aften :)
Avatar billede human Nybegynder
29. april 2008 - 21:18 #11
smid svar :)
Avatar billede jakobdo Ekspert
30. april 2008 - 06:45 #12
Svar!
Avatar billede jakobdo Ekspert
02. maj 2008 - 07:18 #13
Takker for point.
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