Avatar billede koldkaffeernederen Nybegynder
13. oktober 2010 - 10:46 Der er 4 kommentarer og
2 løsninger

Registrerer ikke udfyldt felt

Hej Eksperter

Jeg kan ikke rigtig få min kontaktformular til at virke. Jeg udfylder naturligvis feltet med "navn" - men det bliver ikke registreret så formularen bliver ikke sendt til mig.

Er der nogen der kan gennemskue hvorfor?


<?

$din_mail = "aaa@bbb.cc"; //Den email-adresse mailen skal sendes til
$emne = "Besked fra xxx"; //Emnet på mailen
$sendt_fil = "tak.html"; //Den fil der skal videre-stilles til når mailen er sendt

if(!$navn) echo "<font size=2 face=Verdana>Du mangler at udfylde navn... - Tryk på din tilbage/back knap!</font>";
else{
mail
("$din_mail",
"$emne",
"Fra: $navn\nE-mail: $email\n\n $adresse\n $post_by\n\n Tlf.: $telefon\n Fax.: $fax\n\n $send_brochure\n $kontakt_mig $metode\n\n Besked: $besked",
"Form: $din_mail");
header("Refresh: 2; url=$sendt_fil");
echo "<br><br><br><br>";
echo "<table width=750><tr><td align=center>";
echo "<font size=2 face=Verdana><b>Din mail er sendt!</b></font>";
echo "</td></tr></table>";
}
?>
Avatar billede claes57 Ekspert
13. oktober 2010 - 11:07 #1
du har sikkert stavet 'navn' forkert på formularen
Avatar billede mrgumble Nybegynder
13. oktober 2010 - 11:20 #2
Bliver dine andre felter (adresse, post_by, telefon) registreret? Og har du kigget i variablerne $_POST eller $_GET?

Jeg gætter på at du har antaget, at register_globals er slået til. Dette kan være en seriøs sikkerhedsproblem!

Desuden skal du kigge på noget input validering, som f.eks. at den indtastede e-mail-adresse reelt er en e-mail-adresse og kun én e-mail-adresse. Og i din linje med "mail", behøver du ikke sætte variablerne $din_mail og $emne i gåseøjne.
Avatar billede cronaldo Nybegynder
13. oktober 2010 - 11:33 #3
<?

$din_mail = "aaa@bbb.cc"; //Den email-adresse mailen skal sendes til
$emne = "Besked fra xxx"; //Emnet på mailen
$sendt_fil = "tak.html"; //Den fil der skal videre-stilles til når mailen er sendt

if(empty($_POST['navn']))
{
echo "<font size=2 face=Verdana>Du mangler at udfylde navn... - Tryk på din tilbage/back knap!</font>";
}
else
{
mail
("$din_mail",
"$emne",
"Fra: $navn\nE-mail: $email\n\n $adresse\n $post_by\n\n Tlf.: $telefon\n Fax.: $fax\n\n $send_brochure\n $kontakt_mig $metode\n\n Besked: $besked",
"Form: $din_mail");
header("Refresh: 2; url=$sendt_fil");
echo "<br><br><br><br>";
echo "<table width=750><tr><td align=center>";
echo "<font size=2 face=Verdana><b>Din mail er sendt!</b></font>";
echo "</td></tr></table>";
}
?>
Avatar billede koldkaffeernederen Nybegynder
15. oktober 2010 - 10:36 #4
Undskyld mit sene svar!

mrgumble: $_POST er justeret til - mht. sikkerhed, så laver jeg det helt om senere, nu virker det i hvert fald (igen). Sender du et svar?


cronaldo: sådan! - sender du også et svar?

Tak for hjælpen til jer begge to.
Avatar billede cronaldo Nybegynder
15. oktober 2010 - 11:08 #5
Jep jep :P
Avatar billede mrgumble Nybegynder
15. oktober 2010 - 11:55 #6
Jep jep jep.
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