PaccyDMedlem sedan nov. 201210 inlägg Hej allesammans!
Jag har gjort en hemsida där man kan beställa böcker, i dreamweaver. När man beställt så ska man få en bekräftelse via mail. Detta fungerade kanon till min I-Pad men dessvärre inte till min andra dator.
Efter att läst på så inser jag att det handlar om teckenkodningen, och att denna ska gå att ändra?
setLocale(LC_ALL, 'sv_SE.UTF-8', 'sv_SE.utf8', 'sv_SE', 'swedish.utf8', 'swedish', 'sv');
Vart jag än läser på internet så ser jag att jag ska använda setLocale, men det ger tyvärr ingen framgång. Är det snälla någon som vet hur jag fixar UTF-8 i php? Skulle vara evigt tacksam
PaccyD
Vad är det som inte funkar exakt? ÅÄÖ i mailet? Då gäller det att du lägger till headervärdet Content-type när du skicka mailet, t ex:
$header .= 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
Variera beroende på hur nuvarande kod för att skapa headers ser ut.
PaccyDMedlem sedan nov. 201210 inlägg Hej!
Ja, precis. Det är å,ä & ö som inte fungerar.
Var menar du att jag ska lägga koden du skrev? Precis under <?php ?
PaccyDMedlem sedan nov. 201210 inlägg Jag kan länka hela filen, om du vill?
prplxrMedlem sedan juni 2012582 inlägg Du får allt ge oss lite kod om du behöver hjälp med att få in kodsnutten nitro2k01 förslog.
PaccyDMedlem sedan nov. 201210 inlägg Det är en liten fil så jag ger mig på att posta hela.
<?php
$antal = $_POST ['username'];
$antal2= $_POST['username2'];
$namn= $_POST['namn'];
$adress= $_POST['adress'];
$foretag= $_POST['foretag'];
$epost= $_POST['epost'];
$ovrigt= $_POST['ovrigt'];
$telefon= $_POST['telefon'];
$postnmr= $_POST['postnmr'];
$postort= $_POST['postort'];
$to='xxx@euromail.se';
$subject='Beställning';
$to2=$epost;
$subject2='Tack för er beställning!';
$message="Företag: ".$foretag. "\r\n" .
$message="Namn: ".$namn. "\r\n" .
$message="Adress: ".$adress. "\r\n" .
$message="Postnummer: ".$postnmr. "\r\n" .
$message="Postort: ".$postort. "\r\n" .
$message="E-post: ".$epost. "\r\n" .
$message="Telefon: ".$telefon. "\r\n" .
$message="Antal Talande mord: ".$antal. "\r\n" .
$message="Antal Vägens krigare: ".$antal2. "\r\n" .
$message="Övrigt: ".$ovrigt;
$message2="Hej ".$namn.", ".
$message2="och tack för din beställning!"."\r\n" ."\r\n" .
$message2="Vi bekräftar härmed beställningen av:"."\r\n" .
$message2="Talande mord och tysta arv: ".$antal." st". "\r\n" .
$message2="Vägens krigare: ".$antal2." st". "\r\n" ."\r\n" .
$message2="Bokpaketet skickas inom 3 arbetsdagar till följande adress:"."\r\n"."\r\n" .
$message2="Adress: ".$adress. "\r\n" .
$message2="Postnummer: ".$postnmr. "\r\n" .
$message2="Postort: ".$postort."\r\n" ."\r\n" .
$message2="Trevlig läsning!" . "\r\n" ."\r\n" . "Bästa hälsningar," ."\r\n" ."AB House of Isle"."\r\n" ."order@dettwiler.se";
if ($namn=="" && $postort=="" && $postnmr=="" && $epost=="" && $adress=="" ) {
}
else
{
mail($to,$subject,$message);
mail($to2,$subject2,$message2);
echo '<img src="2012-11-02 050.JPG" border=0>';
}
?>
prplxrMedlem sedan juni 2012582 inlägg <?php
$antal = $_POST ['username'];
$antal2= $_POST['username2'];
$namn= $_POST['namn'];
$adress= $_POST['adress'];
$foretag= $_POST['foretag'];
$epost= $_POST['epost'];
$ovrigt= $_POST['ovrigt'];
$telefon= $_POST['telefon'];
$postnmr= $_POST['postnmr'];
$postort= $_POST['postort'];
$to='xxx@euromail.se';
$subject='Beställning';
$to2=$epost;
$subject2='Tack för er beställning!';
$message="Företag: ".$foretag. "\r\n" ;
$message.="Namn: ".$namn. "\r\n" ;
$message.="Adress: ".$adress. "\r\n" ;
$message.="Postnummer: ".$postnmr. "\r\n" ;
$message.="Postort: ".$postort. "\r\n" ;
$message.="E-post: ".$epost. "\r\n" ;
$message.="Telefon: ".$telefon. "\r\n" ;
$message.="Antal Talande mord: ".$antal. "\r\n";
$message.="Antal Vägens krigare: ".$antal2. "\r\n";
$message.="Övrigt: ".$ovrigt;
$message2="Hej ".$namn.", ";
$message2.="och tack för din beställning!"."\r\n\r\n" ;
$message2.="Vi bekräftar härmed beställningen av:"."\r\n" ;
$message2.="Talande mord och tysta arv: ".$antal." st". "\r\n" ;
$message2.="Vägens krigare: ".$antal2." st". "\r\n\r\n" ;
$message2.="Bokpaketet skickas inom 3 arbetsdagar till följande adress:"."\r\n"."\r\n" .
$message2.="Adress: ".$adress. "\r\n";
$message2.="Postnummer: ".$postnmr. "\r\n";
$message2.="Postort: ".$postort."\r\n\r\n";
$message2.="Trevlig läsning!" . "\r\n\r\nBästa hälsningar,\r\nAB House of Isle\r\norder@dettwiler.se";
$header = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
if (!$namn=="" && !$postort=="" && !$postnmr=="" && !$epost=="" && !$adress=="" ) {
mail($to,$subject,$message, $header);
mail($to2,$subject2,$message2, $header);
echo '<img src="2012-11-02 050.JPG" border=0>';
}
?>
Jag tog mig friheten att rätta till några småskavanker också.
PaccyDMedlem sedan nov. 201210 inlägg Mycket schysst! :)
Jag tar och testar det nu så får vi se om det fungerar
PaccyDMedlem sedan nov. 201210 inlägg Det fungerar! Fasen vad skönt. Enda nackdelen med det du ändrade är att allt kommer som en flytande text, medans innan så var det radbyten i mellan
PaccyDMedlem sedan nov. 201210 inlägg prplxr, gillar du att läsa?
prplxrMedlem sedan juni 2012582 inlägg Förlåt mig, jag tänkte inte på det. När vi lade till "Content-type: text/html;" så blir det lite annorlunda. Byt ut alla "\r\n" mot "<br />" så ska du se att det fungerar!
Pröva med den här koden istället:
<?php
$antal = $_POST ['username'];
$antal2= $_POST['username2'];
$namn= $_POST['namn'];
$adress= $_POST['adress'];
$foretag= $_POST['foretag'];
$epost= $_POST['epost'];
$ovrigt= $_POST['ovrigt'];
$telefon= $_POST['telefon'];
$postnmr= $_POST['postnmr'];
$postort= $_POST['postort'];
$to='xxx@euromail.se';
$subject='Beställning';
$to2=$epost;
$subject2='Tack för er beställning!';
$message="Företag: $foretag <br />" ;
$message.="Namn: $namn <br />" ;
$message.="Adress: $adress <br />" ;
$message.="Postnummer: $postnmr <br />" ;
$message.="Postort: $postort <br />" ;
$message.="E-post: $epost<br />" ;
$message.="Telefon: $telefon <br />" ;
$message.="Antal Talande mord: ".$antal. "\r\n";
$message.="Antal Vägens krigare: $antal2 <br />";
$message.="Övrigt: $ovrigt";
$message2="Hej ".$namn." ,";
$message2.="och tack för din beställning!<br /><br />" ;
$message2.="Vi bekräftar härmed beställningen av:<br />" ;
$message2.="Talande mord och tysta arv: $antal st<br />" ;
$message2.="Vägens krigare: $antal2 st<br /><br />" ;
$message2.="Bokpaketet skickas inom 3 arbetsdagar till följande adress:<br /><br />" .
$message2.="Adress: $adress. <br />";
$message2.="Postnummer: $postnmr <br />";
$message2.="Postort: ".$postort."<br /><br />";
$message2.="Trevlig läsning!<br /><br />Bästa hälsningar,<br />AB House of Isle<br />order@dettwiler.se";
$header = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
if (!$namn=="" && !$postort=="" && !$postnmr=="" && !$epost=="" && !$adress=="" ) {
mail($to,$subject,$message, $header);
mail($to2,$subject2,$message2, $header);
echo '<img src="2012-11-02 050.JPG" border=0>';
}
?>
För att svara på om jag gillar att läsa, ja, det beror på. Facklitteratur läser jag mer än gärna, om det mesta!
Nej, inte alla \r\n. Specifikt ska $header-raderna absolut inte ha <br />. Då slutar koden funka.
Dessutom finns det ett annat sätt att lösa problemet än att byta ut \r\n mot <br />. Byt ut text/html mot text/plain.
<?php
$antal = $_POST ['username'];
$antal2= $_POST['username2'];
$namn= $_POST['namn'];
$adress= $_POST['adress'];
$foretag= $_POST['foretag'];
$epost= $_POST['epost'];
$ovrigt= $_POST['ovrigt'];
$telefon= $_POST['telefon'];
$postnmr= $_POST['postnmr'];
$postort= $_POST['postort'];
$to='xxx@euromail.se';
$subject='Beställning';
$to2=$epost;
$subject2='Tack för er beställning!';
$message="Företag: ".$foretag. "\r\n" ;
$message.="Namn: ".$namn. "\r\n" ;
$message.="Adress: ".$adress. "\r\n" ;
$message.="Postnummer: ".$postnmr. "\r\n" ;
$message.="Postort: ".$postort. "\r\n" ;
$message.="E-post: ".$epost. "\r\n" ;
$message.="Telefon: ".$telefon. "\r\n" ;
$message.="Antal Talande mord: ".$antal. "\r\n";
$message.="Antal Vägens krigare: ".$antal2. "\r\n";
$message.="Övrigt: ".$ovrigt;
$message2="Hej ".$namn.", ";
$message2.="och tack för din beställning!"."\r\n\r\n" ;
$message2.="Vi bekräftar härmed beställningen av:"."\r\n" ;
$message2.="Talande mord och tysta arv: ".$antal." st". "\r\n" ;
$message2.="Vägens krigare: ".$antal2." st". "\r\n\r\n" ;
$message2.="Bokpaketet skickas inom 3 arbetsdagar till följande adress:"."\r\n"."\r\n" .
$message2.="Adress: ".$adress. "\r\n";
$message2.="Postnummer: ".$postnmr. "\r\n";
$message2.="Postort: ".$postort."\r\n\r\n";
$message2.="Trevlig läsning!" . "\r\n\r\nBästa hälsningar,\r\nAB House of Isle\r\norder@dettwiler.se";
$header = 'MIME-Version: 1.0' . "\r\n";
$header .= 'Content-type: text/plain; charset=UTF-8' . "\r\n";
if (!$namn=="" && !$postort=="" && !$postnmr=="" && !$epost=="" && !$adress=="" ) {
mail($to,$subject,$message, $header);
mail($to2,$subject2,$message2, $header);
echo '<img src="2012-11-02 050.JPG" border=0>';
}
?>
prplxrMedlem sedan juni 2012582 inlägg
nitro2k01 skrev:
Nej, inte alla \r\n. Specifikt ska $header-raderna absolut inte ha <br />. Då slutar koden funka.
Jag är medveten om detta. Jag inser nu att jag uttrycke mig klumpigt. Det var naturligtvis i bodyn av mailet jag syftade på. Jag bara utgår ifrån att alla vet hur jag tänker. xD
PaccyD: Jag vet att problemet är löst nu och det vore bra om du ville markera ett svar som trådens lösning, förlsagsvis nitro2k01's första svar.