/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
Problemer med æ ø og å i mailformular
Fra : Peter Graversen


Dato : 21-04-07 05:48

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">&nbsp;</label><input id="t6" type="submit"
name="submit" value=" Send mail " />
&nbsp; &nbsp; <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

 
 
Peter Graversen (21-04-2007)
Kommentar
Fra : Peter Graversen


Dato : 21-04-07 06:26

det skal lige nævnes at HTML'en skrvet i utf-8 kode, hvis det kan
hjælpe.

Kan se at mailen bliver modtaget som: Content-Type: text/plain.
Måske hvis man kunne sende mailen som html?

Jeg er dog så svag i PHP, at jeg simpelthen ikke kan gennemskue
hvordan.

--
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

Gearløs (22-04-2007)
Kommentar
Fra : Gearløs


Dato : 22-04-07 14:46

Peter Graversen wrote:
> det skal lige nævnes at HTML'en skrvet i utf-8 kode, hvis det kan
> hjælpe.

Prøv at sætte <meta http-equiv="content-type"
content="text/html;charset=iso-8859-1"> i din head-sektion i stedet for
utf-8.

Mvh
-Mathias



Peter Graversen (22-04-2007)
Kommentar
Fra : Peter Graversen


Dato : 22-04-07 19:39

Gearløs wrote in dk.edb.internet.webdesign.serverside.php:
> Peter Graversen wrote:
> > det skal lige nævnes at HTML'en skrvet i utf-8 kode, hvis det kan
> > hjælpe.
>
> Prøv at sætte <meta http-equiv="content-type"
> content="text/html;charset=iso-8859-1"> i din head-sektion i stedet for
> utf-8.
>
> Mvh
> -Mathias
>
>
Hej Mathias.

Ja - det er nok desværre den eneste løsning, hvis jeg ikke skal til at lave
en mailform der sender HTML. Det der sker er jo bare at alle "specialtegn"
som æ ø å Æ Ø Å - ' " osv så bliver til den noget mærkelige kode. Men så må
jeg jo bare køre søg/erstat på hele siden.

Men tak for hjælpen. Nu fungerer mailformularen, så mangler jeg bare lige
at rette 35 sider på min side :).

Hilsen
Peter

--
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

Søg
Reklame
Statistik
Spørgsmål : 177496
Tips : 31968
Nyheder : 719565
Indlæg : 6408491
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste