Kontaktformular og tegnkode

Her kan du få hjælp til programmer eller funktioner, der er omtalt på Ludvigs Hjørne.

Kontaktformular og tegnkode

Indlægaf lars » fre jan 28, 2011 17:30

Hej Kim
Det er første gang jeg er på dette forum, og jeg vil gerne benytte lejligheden til at takke for alt den viden og information du generøst deler ud af på din hjemmeside :D

Jeg har for første gang prøvet at lave en hjemmeside, og det har jeg gjort i Kompozer, med udgangspunkt i 2 af dine skabeloner. Derudover har jeg brugt den kontaktformular, som du også har lavet. Men jeg har det problem, at tegnkodningen ikke fungerer i kontaktformularen, eller rettere sagt. Hvis jeg på den side hvor jeg har lagt formularen bruger tegnkodning UTF-8, så virker siden år jeg ser den i browseren, men i de mails som formularen sender til mig er æ, ø og å ødelagt. Hvis jeg ændrer tegnkodning på siden til ISO-8859-1, så virker formularen, men siden vises forkert i browseren. Jeg går ud fra at det er i forbindelse med php.formularen at det går galt- Hvordan kan jeg løse det?

Mvh
Lars
lars
 

Re: Kontaktformular og tegnkode

Indlægaf Kim Ludvigsen » fre jan 28, 2011 18:21

Det har nok noget at gøre med opsætning af tegnkodning på webserveren, men det kan løses.

Lav siden tilbage til UTF-8.

Lav en kopi af kontaktformular.php så du har den, hvis nedenstående ikke virker, jeg har nemlig ikke testet:

Åbn kontaktformular.php i en teksteditor, fx Notesblok
Find linjen:
$headers="From: $navn <$epost>\r\n";
og indsæt denne linje lige nedenunder:
$headers .="Content-type: text/html; charset=UTF-8\r\n";

Find så linjen:
$headers="From: Kontaktformular <$afsendermail>\r\n";
og indsæt også her denne linje lige nedenunder:
$headers .="Content-type: text/html; charset=UTF-8\r\n";

Gem filen, upload den og tjek, om det så virker.
Mvh.
Kim Ludvigsen
Kim Ludvigsen
Site Admin
 
Indlæg: 7263
Tilmeldt: tors jun 08, 2006 0:49

Re: Kontaktformular og tegnkode

Indlægaf lars » søn jan 30, 2011 11:15

Hej Kim
Tak for svaret. Det virker - delvist. Selve beskeden er ok, den vises korrekt nu. Men titel og navne felt vises ikke korrekt. Jeg har prøvet at gøre følgende, ændre den linje du skrev til formularheaders, og tilføje den som nedenfor, men det hjalp ikke:

/* Her indsættes din mailadresse, så afsenderen kan svare på kopimailen */
$formularheaders="From: $hjemmeside <$afsendermail>\r\n";
$formularheaders .="Content-type: text/html; charset=UTF-8\r\n";

De medfølgende informationer "Du har fået følgende besked ....." vises heller ikke korrekt.

mvh
Lars
lars
 

Re: Kontaktformular og tegnkode

Indlægaf Kim Ludvigsen » søn jan 30, 2011 12:05

Jeg vil tro, at der benyttes serverens standardtegnkodning, indtil du fortæller, at der skal bruges UTF-8, og herefter virker det med UTF-8.

Du kan nok kun få rettet det sidste ved at ændre standardtegnkodningen på serveren. Det gøres typisk i en fil, der hedder .htaccess, hvis serveren bruger Linux (det gør de fleste). Du skal først tjekke, om der allerede ligger en fil med navnet .htaccess på serveren, det gøres nemmest med et FTP-program. Bemærk, at filen har et punktum foran navnet. Bemærk også, at FTP-programmet skal være indstillet til at vise skjulte filer.

Hvis du har en .htaccess, kan du tjekke, om der er angivet tegnkodning i den (typisk ISO-8859-1), og i så fald kan du udskifte tegnkodningen med UTF-8. Lad være med at røre andet i filen. Gem filen og overfør den til serveren.

Det vil nok være en god ide at lave en kopi af .htaccess, inden du ændrer noget, så du har en backup, hvis noget går galt.

Hvis du er i tvivl, så vend hellere tilbage en gang for meget end en gang for lidt.
Mvh.
Kim Ludvigsen
Kim Ludvigsen
Site Admin
 
Indlæg: 7263
Tilmeldt: tors jun 08, 2006 0:49

Re: Kontaktformular og tegnkode

Indlægaf lars » søn jan 30, 2011 19:59

Hej Kim
Tak for svaret. Der er ikke nogen .htaccess fil på min udbyders server. Jeg bruger gigahost. Og så ved jeg ikke lige...

Jeg har fundet noget omtale af problemet på følgende side, men det meste af det forstår jeg ikke, og jeg er også lidt bange for at ødelægge alt det andet jeg har med velfungerende danske tegn.

http://www.nielsgamborg.dk/wordpress/we ... 8859-1.htm
iconv ( (“ISO-8859-1″, “UTF-8″, $minTekst);)

Men er det der står ovenfor at jeg i min php kontaktformular kan sætte den der iconv ind foran de steder hvor problemet er?

Der er jo flere steder, men det her er et eksempel fra kontaktformularfilen.
$oplysninger="Følgende er sendt via kontaktformularen på $hjemmeside:\r\n\r\nNavn: $navn\r\nE-mail: $epost\r\nBesked:\r\n$besked";

således at jeg ændrer teksten liger herover til:
iconv ( (“ISO-8859-1″, “UTF-8″, $oplysninger="Følgende er sendt via kontaktformularen på $hjemmeside:\r\n\r\nNavn: $navn\r\nE-mail: $epost\r\nBesked:\r\n$besked");)

Nu har jeg lige kæmpet mig til at forstå lidt af html, men php er rimeligt sort tale!

mvh
Lars
lars
 

Re: Kontaktformular og tegnkode

Indlægaf Kim Ludvigsen » søn jan 30, 2011 20:32

Lige en sidste ting, inden vi fortsætter med serveren. jeg havde ikke lige tænkt over dette:

Jeg har vist gemt kontaktformularen som ISO-8859-1, problemet kan muligvis løses ved at gemme som UTF-8 i stedet. Lav en kopi af kontaktformular.php.

Åbn kontaktformular.php i Notesblok. Marker al tekst med genvejen Ctrl + A => Kopier det hele med genvejen Ctrl + C. Dette er udelukkende for at have en kopi, hvis nedenstående ødelægger de danske tegn.

Vælg så Filer => Gem som => ud for Filnavn skal der stå kontaktformular.php => ud for Filtype skal være valgt Alle filer (hvad der sikkert også er) => ud for Kodning skal du vælge UTF-8 => Gem.

Tjek lige, om de danske bogstaver stadig kan aflæses. Hvis de er blevet ødelagt, så marker det hele og slet det. Indsæt nu det tidligere kopierede med Ctrl + V => Gem som skrevet ovenfor. Nu skulle de danske bogstaver gerne være korrekte. Virker det stadig ikke, må du lige ændre dem manuelt.
Mvh.
Kim Ludvigsen
Kim Ludvigsen
Site Admin
 
Indlæg: 7263
Tilmeldt: tors jun 08, 2006 0:49

Re: Kontaktformular og tegnkode [LØST]

Indlægaf lars » man jan 31, 2011 18:11

Hej Kim
Fantastisk, det var det der skulle til. Mange tak for hjælpen.
Jeg kan se nu hvor jeg bare i den oprindelige kontaktformular-fil prøver gem som, så står der faktisk ISO-8859-1 under tegnkodning (i hvertfald står det højt og tydeligt i gedit i Ubuntu). Jeg havde ikke set det, fordi jeg havde bare gemt filen med mine egne ændringer vha gem og ikke gem som.

Mvh
Lars
lars
 


Tilbage til Hjælp til Ludvigs Hjørne

Hvem er online

Brugere der læser dette forum: Ingen og 8 gæster