Gå til innhold

Problemer med æ ø å i et php kontakt skjema


Anbefalte innlegg

Hei

 

Jeg fant et php script på nettet som jeg vil bruke til å lage en sånn enkel kontakt skjema. Skjemaet funker fint og alt det. Problemet er at når jeg mottar dette på e-post kassa mi så blir alle æ å ø bokstaver til rare tegn. Jeg har sjekket at siden står åp utf-8. Jeg har prøvd forskjellige ting men ingenting funker. Har også søkt gjennom forumet her og prøvd flere tips men nei ingenting vi hjelpe. Noen som vil ta denne utfordningen? Det må vel være en eller annen kode som sier at æ skal komme ut som æ osv. Noen som gidder å hjelpe meg??

Thnx

Domenet mitt ligger forresten på domeneshop.no.

 

<?php 

/* PHP Form Mailer - phpFormMailer v2.1, last updated 30th Nov 2005 - check back often for updates!
  (easy to use and more secure than many cgi form mailers) FREE from:
                 www.TheDemoSite.co.uk
     Should work fine on most Unix/Linux platforms */

// ------- three variables you MUST change below  -------------------------------------------------------
$valid_ref1="http://www.minside.no/kontakt.php";// chamge "Your--domain" to your domain
$valid_ref2="http://www.minside.no/kontakt.php";// chamge "Your--domain" to your domain
$replyemail="[email protected]";//change to your email address
// ------------------------------------------------------------

//clean input in case of header injection attempts!
function clean_input_4email($value, $check_all_patterns = true)
{
$patterns[0] = '/content-type:/';
$patterns[1] = '/to:/';
$patterns[2] = '/cc:/';
$patterns[3] = '/bcc:/';
if ($check_all_patterns)
{
 $patterns[4] = '/\r/';
 $patterns[5] = '/\n/';
 $patterns[6] = '/%0a/';
 $patterns[7] = '/%0d/';
}
//NOTE: can use str_ireplace as this is case insensitive but only available on PHP version 5.0.
return preg_replace($patterns, "", strtolower($value));
}
$medlem = clean_input_4email($_POST["medlem"]);
$velgen = clean_input_4email($_POST["velgen"]);
$select = clean_input_4email($_POST["select"]);
$email = clean_input_4email($_POST["email"]);
$tlf = clean_input_4email($_POST["tlf"]);
$sted = clean_input_4email($_POST["sted"]);
$adresse = clean_input_4email($_POST["adresse"]);
$navn = clean_input_4email($_POST["navn"]);
$email = clean_input_4email($_POST["email"]);
$thesubject = clean_input_4email($_POST["thesubject"]);
$themessage = clean_input_4email($_POST["themessage"], false);

$error_msg='FEIL - melding ble ikke sendt. Vennligst prøv igjen.';

$success_sent_msg= include("./vellykket.php");

$replymessage = "Hei $navn

Takk for henvendelsen.

Nedenfor finner du henvendelsen din:
--------------------------------------------------
$velgen
Medlem: $medlem
Navn: $navn
Adresse: $adresse
Sted: $sted
Telefon: $tlf
Epost: $email
Mer info om: $select
Emne: $thesubject
Din melding:
$themessage
--------------------------------------------------

Med vennlig hilsen
minside.no";

// email variable not set - load $valid_ref1 page
if (!isset($_POST['email']))
{
echo "<script language=\"JavaScript\"><!--\n ";
echo "top.location.href = \"$valid_ref1\"; \n// --></script>";
exit;
}

$ref_page=$_SERVER["HTTP_REFERER"];
$valid_referrer=0;
if($ref_page==$valid_ref1) $valid_referrer=1;
elseif($ref_page==$valid_ref2) $valid_referrer=1;
if(!$valid_referrer)
{
echo "<script language=\"JavaScript\"><!--\n alert(\"$error_msg\");\n";
echo "top.location.href = \"$valid_ref1\"; \n// --></script>";
exit;
}

$themessage = "Ny melding fra minside.no.
****************************************************
Medlem: $medlem 
Gjelder: $velgen 
Navn: $navn 
Adresse: $adresse
Postnr. og Poststed: $sted 
Telefon: $tlf 
E-post: $email 
Ønsker mer info om: $select 
Emne:$thesubject
***************************************************** 
Melding: $themessage
****************************************************";
mail("$replyemail",
    "$thesubject",
    "$themessage",
    "Fra: $email\nReply-To: $email");
mail("$email",
    "Emne: $thesubject",
    "$replymessage",
    "Fra: $replyemail\nReply-To: $replyemail");
echo $success_sent_msg;
/*
 PHP Form Mailer - phpFormMailer (easy to use and more secure than many cgi form mailers)
  FREE from:

   www.TheDemoSite.co.uk       */
?>

Lenke til kommentar
Videoannonse
Annonse
Gjest Slettet+6132
UTF-8 støtter ikke æ,ø og å...

du må sette den til iso-8859-1

6311801[/snapback]

 

Hva snakker du om? UTF-8 støtter vel de fleste språk, men filene må være lagret med UTF-8-encoding og input må gjennom utf8_encode() om jeg ikke tar feil.

Lenke til kommentar

Problemet ditt er at du må sette Content-type i mailen også. Hjelper ikke å skrive en mail i utf-8 og sende den i noe helt annet.

 

$add_headers = 'From: <navn> [email protected]'."\r\n";
$add_headers .= 'From: <navn> [email protected]'."\r\n";
$add_headers .= 'Content-type: text/html; charset=UTF-8'."\r\n";
//mulig dumå bruke denne linjen istedet
// $add_headers .= 'Content-type: text/html; charset=iso-8859-1'."\r\n";

if(mail('[email protected]', 'emne', 'melding',$add_headers))
 echo 'mail sent';

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...