Avatar billede elskermad.dk Nybegynder
24. juni 2005 - 12:25 Der er 15 kommentarer og
1 løsning

linieskift er anderledes efter ny server

hej eksperter!

efter jeg har flyttet et site til en anden server har jeg fået et par små problemer...

det er lige som om alle linieskift jeg har i min kode bliver fjernet når det kommer ud til den besøgende (ikke <br>'er)

fx hvis jeg sender en mail på nedenstående måde kommer teksten til at stå i en lang smøre, mod der før var linie skift de steder der nu er det i koden:

<?

mail("til@mail.dk","Test linieskift","
Hej med dig...

Her var lige et par linieskift, men de forsvinder når mailen sendes!

Det er ret træls...","From:min@mail.dk");

?>

Det resultere i følgende: "Hej med dig... Her var lige et par linieskift, men de forsvinder når mailen sendes! Det er ret træls..."

Normalt når jeg hiver tekst ud fra en db som er gemt via et textarea finder den os selv ud af at lave linieskiftene når den kommer i et textarea igen... det gør den ikke længere!

hvordan kan disse forskelle afhjælpes?

på forhånd mange tak :)
Avatar billede erikjacobsen Ekspert
24. juni 2005 - 12:33 #1
Har du skiftet mellem en linux/unix- og windows-server?
Avatar billede elskermad.dk Nybegynder
24. juni 2005 - 13:35 #2
det er jeg ikke engang klar over... hvordan kan jeg se det? den den kommer fra er en windows, men jeg har før kunne gå fra min windows til en unix
Avatar billede erikjacobsen Ekspert
24. juni 2005 - 13:44 #3
Tjah, kør en  <? phpinfo(); ?>  - det er heller ikke sikkert at det er problemet, men de 2 slags systemer behandler linieskift forskelligt, derfor blot et forslag til et første sted at kigge.
Avatar billede elskermad.dk Nybegynder
24. juni 2005 - 13:55 #4
Den forrige "server" (min lokale PC): http://local.alnet.dk/
Den nye servers informationer: http://lobo-contract.dk/sysinfo/

jeg kan ikke se noget ud af de informationer der kommer, kan I?
Avatar billede erikjacobsen Ekspert
24. juni 2005 - 13:58 #5
Den første er en Windows, den anden en Linux. Så måske .... Har du noget konkret kode?

I Windows har man normalt "\r\n" som linieskift, og i Unix/Linux "\n".
Avatar billede elskermad.dk Nybegynder
24. juni 2005 - 14:03 #6
<?

mail($send_til_mail,"Mail sendt fra kontaktformular","
Følgende er indtastet i kontaktformularen på www.lobo-contract.dk

Navn: $_POST[navn]
E-mail: $_POST[mail]

Emne: $_POST[emne]

Besked:
$_POST[besked]
","From:min@mail.dk");

?>

Som fra selve spørgsmålet så giver overstående mailudsendelse nu en lang smøre i stedet for at være delt op...

Når jeg har gemt noget tekst i en mysql-tabel oprettet via et textarea burde linieskiftene jo også være der igen når jeg hiver det ud... det er de ikke! (de er gemt rigtigt nok i tabellen, for jeg kan godt med en str_replace få sat nogle <br>'er ind på siden for teksten skal være)
Avatar billede erikjacobsen Ekspert
24. juni 2005 - 14:14 #7
Det ser selvfølgelig ok ud. Hvilke linieskift der står kan vi så ikke se. Prøv at tilføje et par testlinier

  test1\ntest2
  test3\r\ntest4
Avatar billede elskermad.dk Nybegynder
24. juni 2005 - 14:26 #8
Så virker linieskiftene fint (med begge)

Men der er stadig problemet med textareaet... Hvis jeg putter teksten igennem en tagster jeg har fundet herinde engang (som laver html om til noget læseligt, klikbare links/mails og trimmer) så kommer der fint linieskift, så den må kunne finde dem fra udtrækket, men det kniber stadig i textareaet... hvad for noget kode skal du se for at se hvad jeg gør forkert?
Avatar billede erikjacobsen Ekspert
24. juni 2005 - 14:31 #9
Du kan så sikre dig at der kommer linieskift ved at
mail($send_til_mail,"Mail sendt fra kontaktformular",
"Følgende er indtastet i kontaktformularen på www.lobo-contract.dk\n".
"Navn: $_POST[navn]\n".
  //....
"$_POST[besked]\n"
,"From:min@mail.dk");

Det er jo nok fordi det, af en eller anden grund, ikke er helt autoriserede linieskift, du har i koden og databasen. Jeg ved ikke lige hvordan vi får det undersøgt...
Avatar billede elskermad.dk Nybegynder
24. juni 2005 - 14:49 #10
jeg vil bare ikke mene at jeg kan få lavet autoriserede linieskift når det er data jeg henter fra en textarea - så vil jeg da mene at det er rigtigt? jeg smider den uformateret ind i tabellen bare ved at bruge $_POST-variablen for textareaet. Det er lidt frustrerende at man skal lave linieskiftene hver gang man vil ind og ændre noget tekst!
Avatar billede erikjacobsen Ekspert
24. juni 2005 - 15:03 #11
Ja, selvfølgelig, og sådan har jeg det også til at virke. Jeg kan ikke gennemskue hvad der er galt hos dig.
Avatar billede elskermad.dk Nybegynder
24. juni 2005 - 15:28 #12
okay det er der jo ikke noget at gøre noget ved... Du skal have tak for hjælpen indtil - må se om der kommer andre forbi :)
Avatar billede nielle Nybegynder
24. juni 2005 - 21:37 #13
Info: Standarden for mail siger at linjeskift skal være \r\n - også selv om mailen sendes fra en linux boks.
Avatar billede elskermad.dk Nybegynder
05. juli 2005 - 10:55 #14
der er ikke rigtigt kommet en løsning på problemet! jeg valgte i stedet at gemme dataerne formateret altså med <br>'er i stedet, og på den måde så replace det tilbage til \n'er igen når det skulle i en form...

vil i have point?
Avatar billede erikjacobsen Ekspert
05. juli 2005 - 11:06 #15
Ingen point til mig, tak.
Avatar billede elskermad.dk Nybegynder
05. juli 2005 - 11:07 #16
... jeg takker for jeres tid :)
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