Avatar billede mo- Mester
19. marts 2006 - 11:23 Der er 12 kommentarer og
1 løsning

Disse felter skal udfyldes, før formular kan sendes

Hej eksperter.

Håber, at nogen kan hjælpe mig

Jeg har en formular, der virker godt. - Bortset fra, at når der trykkes ENTER, sendes formularen afsted - uanset om den er udfyldt eller ej. Og det er jo ikke hensigtsmæssigt.

Jeg vil have det sådan, at visse af felterne SKAL være udfyldt, for at formularen kan afsendes.

Kan nogen fortælle mig, hvordan jeg kan få det sådan?

Min formular ser således ud:

<FORM method="post" action="http://www.varmepude.com/cgi-bin/FormMail.pl">
<input type="hidden" name="recipient" value="varmepude@varmepude.com">
<input type="hidden" name="subject" value="Bestil varmepude">
<input type="hidden" name="redirect" value="http://www.varmepude.com/nyside.html">
</FORM>
<FORM ACTION="http://www.varmepude.com/cgi-bin/FormMail.pl" METHOD="POST">
<INPUT TYPE=HIDDEN NAME="recipient" VALUE="varmepude@varmepude.com">
<INPUT TYPE=HIDDEN NAME="subject" VALUE="Bestil varmepude">
<INPUT TYPE=HIDDEN NAME="redirect" VALUE="http://www.varmepude.com/nyside.html">
<P>Navn :<br>
<INPUT TYPE=TEXT NAME="Navn" SIZE=36></P>
<P>Adresse :<br>
<INPUT TYPE=TEXT NAME="Adresse" SIZE=36></P>
<P>Postnr. :<br>
<INPUT TYPE=TEXT NAME="Postnr." SIZE=36></P>
<P>By :<br>
<INPUT TYPE=TEXT NAME="By" SIZE=36></P>
<P>Tlf. :<br>
<INPUT TYPE=TEXT NAME="Tlf." SIZE=36></P>
<P>E-mail :<br>
<INPUT TYPE=TEXT NAME="E-mail" SIZE=36></P>
<P>Hvilken varmepude model &oslash;nsker du? <br>
<INPUT TYPE=TEXT NAME="Model" SIZE=36></P>
<P>&Oslash;nsker du betr&aelig;k til din varmepude? <br>
<INPUT TYPE=TEXT NAME="Betræk" SIZE=36></P>
<P>Her kan du skrive en yderligere besked :<br>
<INPUT TYPE=TEXT NAME="Yderligere besked" SIZE=120></P>
<P><BR><BR>
</P>
<P><INPUT TYPE=SUBMIT VALUE="Send">

På forhånd tak fra
Mie
Avatar billede Slettet bruger
19. marts 2006 - 11:57 #1
<?php
$_GET['Navn'] = $navn;
$_GET['Adresse'] = $adr;
$_GET['Postnr'] = $postnr;
$_GET['By'] = $by;
$_GET['Tlf'] = $tlf;
$_GET['E-mail'] = $email;
$_GET['Model'] = $model;
$_GET['Betræk'] = $betraek;
$_GET['Yderligere besked'] = $etc;


if(!$navn || !$adr || !$postnr || !$by || !$tlf || !$email || !$model || !$betraek || !1etc) {
echo "Alle felter skal udfyldes!
} else {
// send form
}
?>
Avatar billede mo- Mester
19. marts 2006 - 12:07 #2
Tak skal du have. Hvor skal jeg sætte koden? - Og er der ellers noget jeg skal gøre?
Avatar billede mo- Mester
19. marts 2006 - 12:26 #3
( - forresten ... "nyside.html" er ændret til "formsent.html" )

Jeg har prøvet at sætte ovenstående kode forskellige steder - men jeg kan ikke få det til at virke.

Jeg er en ren novice på området - så jeg skal ha' det skåret ud i pap.
Avatar billede Slettet bruger
19. marts 2006 - 17:30 #4
Ja ved nærmere indblik ser det ikke helt så nemt ud, fordi du sender til et perl-script, og ikke til den side formen vises på, så tjekket skal faktisk foregå i formMail.pl.

Hvis du ikke selv har kontrol over .pl filen, så skal du ændre det, så du sender en form til en .php fil, der tjekker det du har postet, og enten sender dig tilbage eller videre til .pl filen.

Det vil blive rimelig besværligt at lave - jeg ville nok vurdere hvor vigtigt det var at få lavet. :|
Avatar billede mo- Mester
19. marts 2006 - 17:49 #5
Hmmnn ... men er der så en helt anden måde at gøre det på?  Jeg mener en helt anden form?  Findes der nogen bøger / hæfter med "opskriften"?
Avatar billede Slettet bruger
19. marts 2006 - 18:44 #6
Der står noget af det her, hvis du googler på "PHP Form Validation"
http://www.thesitewizard.com/archive/phptutorial2.shtml
Avatar billede mo- Mester
19. marts 2006 - 20:06 #7
Det vil jeg lige kigge på. Tak.
Avatar billede mo- Mester
19. marts 2006 - 23:07 #8
Følgende har jeg fundet ud af virker:

<FORM action=http://www.ditdomæne.com/cgi-bin/FormMail.pl method=post>
<INPUT type=hidden value=din@email.com name=recipient>
<INPUT type=hidden value="Bestil - eller hvad det nu er" name=subject>
<INPUT type=hidden value=Navn,Adresse,Postnr.,By,Tlf.,E-mail,Model,Betræk name=required>
<INPUT type=hidden value=http://www.ditdomæne.com/fejl.html name=missing_fields_redirect>
<INPUT type=hidden value=http://www.ditdomæne.com/formsent.html name=redirect>
</FORM>
<FORM action=http://www.ditdomæne.com/cgi-bin/FormMail.pl method=post>
<INPUT type=hidden value=din@email.com name=recipient>
<INPUT type=hidden value="Bestil - eller hvad det nu er" name=subject>
<INPUT type=hidden value=Navn,Adresse,Postnr.,By,Tlf.,E-mail,Model,Betræk name=required>
<INPUT type=hidden value=http://www.ditdomæne.com/fejl.html name=missing_fields_redirect>
<INPUT type=hidden value=http://www.ditdomæne.com/formsent.html name=redirect>

Men nu kunne jeg jo godt tænke mig, at der i stedet for "fejl.html", som kommer frem ved tryk på enter-tasten - i stedet popper en lille besked op om, at alle felter skal udfyldes.  Dvs. brugeren bliver på formularsiden og ikke skal starte helt forfra.

Hvad siger du til det, pacroon?
Avatar billede mo- Mester
19. marts 2006 - 23:26 #9
- Eller simpelthen at gøre ENTER / RETUR tasten passiv - indtil alle felter er udfyldt ??
Avatar billede Slettet bruger
20. marts 2006 - 00:14 #10
Ja, det sidste kan du godt gøre - men her skal du ud i noget Javascript, som jeg ikke er så stærk i, men som der helt sikkert findes masser af kopier-klar eksempler for på nettet! :-)
Avatar billede mo- Mester
20. marts 2006 - 09:55 #11
Har siddet og kigget efter noget - men har ikke fundet det, jeg skal bruge.
Jeg vil oprette et nyt spørgsmål.
pacroon > du skal ha' 100 points for din hjælp - der førte mig videre, så læg lige et svar.
Avatar billede Slettet bruger
20. marts 2006 - 10:14 #12
Okay, mange tak for det - jeg håber du får det ordnet :)
Avatar billede Slettet bruger
20. marts 2006 - 10:42 #13
Nu kom du til at give mig 200! Vil du have 100 af dem igen?
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