Avatar billede amazon Nybegynder
14. september 2006 - 15:16 Der er 26 kommentarer og
1 løsning

danske bogstaver fra formular

Jeg har lavet mig en lille php-formular udfra ting jeg har fundet her på sitet. Det fungerer også fint, men jeg ville gerne have rigtige æ ø og å i de mails jeg modtager. Er der nogen, der kan hjælpe?

Jeg har en send.php med følgende indhold:
---------------
<?php

    if($_POST[navn] && $_POST[email] && $_POST[besked]) {
    $msg = "Mail fra:\t$_POST[navn]\r\n";
    $msg .= "E-Mail:\t$_POST[email]\r\n";
    $msg .= "telefon:\t$_POST[telefon]\r\n";
    $msg .= "besked:\t$_POST[besked]\r\n\r\n";
 

    $minemail = "min@email.dk";
    $emne = "Formmail fra minhjemmeside.dk";

    $mailheaders = "From: Formmail <> \r\n";
    $mailheaders .= "Reply-To: $_POST[email]\r\n\r\n";
    mail($minemail, $emne, $msg, $mailheaders);
    print "<meta http-equiv=\"Refresh\" content=\"0;url=..\_kontaktsendt.php\">";
    }
    else{
    header("location: submit.php");
    }
?>
-----------------
Og en submit.php indeholdende følgende:
            <form method="post" action="send.php">
                <div align="left">
                    <table border="0" cellspacing="0" cellpadding="0">
                        <tr height="32">
                            <td valign="top" width="85" height="32">Navn</td>
                            <td valign="top" height="32"><input type="text" name="navn" size="38" /></td>
                        </tr>
                        <tr height="32">
                            <td valign="top" width="85" height="32">E-mail</td>
                            <td valign="top" height="32"><input type="text" name="email" size="38" /></td>
                        </tr>
                        <tr height="40">
                            <td valign="top" width="85" height="40">Telefon</td>
                            <td valign="top" height="40"><input type="text" name="telefon" size="18" /></td>
                        </tr>
                        <tr>
                            <td valign="top" width="85">Besked</td>
                            <td valign="top"><textarea name="besked" rows="6" cols="30"></textarea></td>
                        </tr>
                        <tr height="38">
                            <td valign="bottom" width="85" height="38"><input type="hidden" name="hiddenName" value="hiddenValue" /></td>
                            <td align="right" valign="bottom" height="38"><input type="reset" />  <button name="s1" value="Send" type="submit">Send</button></td>
                        </tr>
                    </table>
                </div>
            </form>
------------------------------------

Jeg går ud fra at jeg skal have tilføjet noget i min send.php?
Avatar billede pidgeot Nybegynder
14. september 2006 - 15:24 #1
Hvad får du da i stedet for rigtige æ'er, ø'er og å'er nu? Det er efter alt at dømme blot tegnsættet på din side der ikke matcher det dit mail-program vil bruge, men jeg kan ikke vide hvad der præcist skal stå hvis jeg ikke ved hvordan det ser ud nu.
Avatar billede amazon Nybegynder
14. september 2006 - 15:31 #2
Dette er hvad jeg modtager, med æ ø og å i hver sin linje

Mail fra:    Mig selv
E-Mail:    min mail
telefon:    mit tlf.
besked:    test af bogstaver:
æ
ø
Ã¥
Avatar billede karmicmind Nybegynder
14. september 2006 - 15:38 #3
Sørg for at bruge det samme tegnsæt i både websiden og email'en..

    $mailheaders = "Content-Type: text/plain; charset=utf-8 \r\n";

og til websiden:

    header("Content-Type: text/html; charset=utf-8");

og også gerne

<html>
    <head>
        <meta http-equiv="Content-type" content="text/html; charset=utf-8"/>
    </head>
</html>

du kan selvfølgelig også bruge andre tegnsæt end lige utf-8, som f.eks. iso-8859-1
Avatar billede karmicmind Nybegynder
14. september 2006 - 15:39 #4
$mailheaders = "Content-Type: text/plain; charset=utf-8 \r\n";

skal selvfølgelig være:

    $mailheaders .= "Content-Type: text/plain; charset=utf-8 \r\n";

medmindre du har tænkt dig at sætte den først..
Avatar billede amazon Nybegynder
14. september 2006 - 15:41 #5
Jeg har altid lavet mine sider i GoLive, så der bruger jeg bare den autogenerede, det er nok her det går galt så...

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

    <head>
        <meta http-equiv="content-type" content="text/html;charset=utf-8" />
        <meta name="generator" content="Adobe GoLive" />
Avatar billede amazon Nybegynder
14. september 2006 - 15:43 #6
karmicmind, hvor siger du jeg sætter det her ind?

$mailheaders .= "Content-Type: text/plain; charset=utf-8 \r\n";
Avatar billede karmicmind Nybegynder
14. september 2006 - 15:46 #7
Sammen med dine andre email-headers

    $mailheaders = "From: Formmail <> \r\n";
    $mailheaders .= "Reply-To: $_POST[email]\r\n\r\n";
    $mailheaders .= "Content-Type: text/plain; charset=utf-8 \r\n";
Avatar billede karmicmind Nybegynder
14. september 2006 - 15:48 #8
Rettelse:

    $mailheaders = "From: Formmail <> \r\n";
    $mailheaders .= "Reply-To: $_POST[email]\r\n";
    $mailheaders .= "Content-Type: text/plain; charset=utf-8 \r\n"
    $mailheaders .= "\r\n";
Avatar billede amazon Nybegynder
14. september 2006 - 15:54 #9
hMMM. nu kommer der slet ikke noget igennem?

Min send indeholder:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

    <head>
        <meta http-equiv="content-type" content="text/html;charset=utf-8" />
        <meta name="generator" content="Adobe GoLive" />
       
        <link href="../css/basic.css" rel="stylesheet" type="text/css" media="all" />

        <?php include("../txt/standardmeta.txt") ?>

    </head>

    <body leftmargin="0" marginheight="0" marginwidth="0" topmargin="0">

        <div id="container">
            <p>
           
<?php

    if($_POST[navn] && $_POST[email] && $_POST[besked]) {
    $msg = "Mail fra:\t$_POST[navn]\r\n";
    $msg .= "E-Mail:\t$_POST[email]\r\n";
    $msg .= "telefon:\t$_POST[telefon]\r\n";
    $msg .= "besked:\t$_POST[besked]\r\n\r\n";
 

    $minemail = "MIN@EMAIL.dk";
    $emne = "Formmail fra HJEMMESIDEN.dk";

    $mailheaders = "From: Formmail <> \r\n";
    $mailheaders .= "Reply-To: $_POST[email]\r\n\r\n";
    $mailheaders .= "Content-Type: text/plain; charset=utf-8 \r\n";
    $mailheaders .= "\r\n";
    mail($minemail, $emne, $msg, $mailheaders);
    print "<meta http-equiv=\"Refresh\" content=\"0;url=..\_kontaktsendt.php\">";
    }
    else{
    header("location: submit.php");
    }
?>
Avatar billede amazon Nybegynder
14. september 2006 - 16:00 #10
Jeg har lige prøvet igen uden og det virker - på nær æøå-bogstaverne! Der må være noget galt med de 2 linjer?

    $mailheaders .= "Content-Type: text/plain; charset=utf-8 \r\n";
    $mailheaders .= "\r\n";
Avatar billede karmicmind Nybegynder
14. september 2006 - 16:05 #11
Prøv med

    $mailheaders .= "Content-Type: text/plain; charset=\"utf-8\"\r\n";
    $mailheaders .= "\r\n";
Avatar billede amazon Nybegynder
14. september 2006 - 16:19 #12
Nej, stadig intet resultat?
Avatar billede karmicmind Nybegynder
14. september 2006 - 16:27 #13
Prøv at skrive UTF-8 med stort..
Eller prøv et andet charset, f.eks. ISO-8859-1..
Avatar billede amazon Nybegynder
14. september 2006 - 16:32 #14
Skal jeg så også ændre charset i dokumenttoppene?
Avatar billede mclemens Nybegynder
14. september 2006 - 16:37 #15
$mailheaders .= "Reply-To: $_POST[email]\r\n\r\n";
^ - mon ikke den skal være:
$mailheaders .= "Reply-To: $_POST[email]\r\n\"; ...
Avatar billede amazon Nybegynder
14. september 2006 - 16:37 #16
Det virker ikke med UTF-8 og det virker heller ikke selvom jeg retter til ISO-8859-1 både i toppen og
    $mailheaders .= "Content-Type: text/plain; charset=\"ISO-8859-1\"\r\n";

Bliver desværre nødt til at gå nu, men måske det er bedre i morgen!
Avatar billede mclemens Nybegynder
14. september 2006 - 16:38 #17
(ligesom i 14/09-2006 15:48:19)
Avatar billede karmicmind Nybegynder
14. september 2006 - 16:47 #18
Du har fat i noget, mclemens.. ;)
Den havde jeg ikke lige set..
Avatar billede amazon Nybegynder
15. september 2006 - 08:20 #19
Sørme om ikke det virker nu! - Det var lige det der skulle til!

Kan man dele points her?
Avatar billede mclemens Nybegynder
15. september 2006 - 09:09 #20
Niks, det er Karmicmind's ...
Jeg så bare lige den lille overførselsfejl fra
15:48:19 til 15:54:55 og ville så lige skrive det... ;)
Avatar billede amazon Nybegynder
15. september 2006 - 09:53 #21
Jamen tak for hjælpen alligevel ... Og så mangler jeg bare have et svar fra dig Karmicmind så du kan få dine velfortjente points :-)
Avatar billede karmicmind Nybegynder
15. september 2006 - 10:25 #22
hokus pokus..! :D
Avatar billede amazon Nybegynder
16. september 2006 - 10:15 #23
Endnu en gang tak for hjælpen!
Avatar billede mclemens Nybegynder
16. september 2006 - 10:20 #24
Velbekom, amazon - kig evt. på
http://www.eksperten.dk/spm/682569
Avatar billede mclemens Nybegynder
16. september 2006 - 10:20 #25
(den nederste eller anden nederste)
Avatar billede amazon Nybegynder
18. september 2006 - 07:32 #26
Ja tak mclemens, du er min helt fra nu af!
Avatar billede mclemens Nybegynder
18. september 2006 - 08:50 #27
*lol* ... Takker ;)
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