Hej Alle.
Jeg har nappet det her formmail script fra en eller anden
scriptside. Det virker næsten perfekt, men også kun næsten.
Mailformularen sender Æ Ø og Å som html tegn og dermed bliver
visse mails svære at læse. Hvad kan jeg gøre for at afhjælpe
problemet. Scriptet er som følger:
<form method="post" action="sender.php">
<fieldset>
<legend>Husk at udfylde alle felter</legend>
<label for="t1">Navn:</label>
<input id="t1" type="text" name="name" /><br />
<label for="t2">Email:</label>
<input id="t2" type="text" name="email" /><br />
<label for="t3">Emne:</label>
<input id="t3" type="text" name="subject" /><br />
<label for="t4">Besked:</label>
<textarea id="t4" name="message" rows="10"
cols="49"></textarea><br />
<label for="t5">Ønskes kopi?</label>
<input type="checkbox" id="t5" name="customer_copy"
checked="checked" />
<label for="t6"> </label><input id="t6" type="submit"
name="submit" value=" Send mail " />
<input type="reset" value=" Slet alt " />
</fieldset>
</form>
Og Følgende PHP side med navner sender.php:
<?php
if (isset($_POST['submit']))
{
if (!empty($_POST['name']) && // tjek, at der er skrevet et navn
!empty($_POST['email']) && // tjek, at der er skrevet en
e-mail-adresse
!empty($_POST['subject']) && // tjek, at der er skrevet et
subject
!empty($_POST['message']) && // tjek, at der er skrevet en
besked
// her følger sikringen mod spambotter
!strpos($_POST['name'], "dit_domain.dk") && // tjek, at dit
domæne ikke er skrevet i feltet "navn"
!strpos($_POST['email'], "dit_domain.dk") && // tjek, at dit
domæne ikke er skrevet i feltet "email"
!strpos($_POST['name'], "@") && // tjek, at der ikke er et @ i
"navn"
!eregi("\r",$_POST['name']) && // tjek, at der ikke er
"vogn-retur" i "navn"
!eregi("\n",$_POST['name']) && // tjek, at der ikke er
"linjeskift" i "navn"
!eregi("\r",$_POST['email']) && // tjek, at der ikke er
"vogn-retur" i "email"
!eregi("\n",$_POST['email'])) // tjek, at der ikke er
"linjeskift" i "email"
// er alt ok, fortsættes med afsendelse af mailen
{
$headers="From: ".$_POST['name']."<".$_POST['email'].">";
if (@$_POST['customer_copy'])
{
$headers .= "\r\nBcc: ".$_POST['email'];
}
if (@mail("dit.navn@dit_domain.dk",
strip_tags($_POST['subject']),
stripslashes(strip_tags($_POST['message'])), $headers))
{
echo "<p>Tak for din henvendelse. Jeg svarer så hurtigt som
muligt.</p>";
}
else
{
echo "<p>E-mailen blev ikke sendt. Der skete en fejl. Prøv
igen!</p>";
}
}
else
{
echo "<p>Mailen kunne ikke sendes, alle felter skal udfyldes
korrekt!</p>";
}
}
?>
Håber i kan hjælpe
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! =>
http://www.html.dk/tutorials