Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Załamywanie tekstu
Forum PHP.pl > Forum > Przedszkole
yaros79
Witam mam problem, nie wiem jak przesłać treść wiadomości z łamaniem linii,
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  4. </head>
  5. <body>
  6. <?
  7. $name="ty";
  8. $naglowki = "From: rejestracja@domena.cba.pl".PHP_EOL."Reply-To: moj@mail.pl".PHP_EOL."Content-type: text/plain; charset=iso-8859-2";
  9.  
  10. $user_mail="meil@wp.pl";
  11. $tytul_user="Rejestracja ".$name;
  12. $tytul="Rejestracja w serwisie ";
  13. $pin="123456";
  14.  
  15. $email="mail@gmail.com";
  16. $log_reg="login";
  17. $pass1="hasło";
  18.  
  19. $tresc_user="Zarejestrowany " .$name."<br/>Login:".$log_reg."Hasło:".$pass1."<br/>E-mail:".$email."<br>Pin:".$pin;
  20.  
  21. $tresc="Witaj " .$name." <br> Twoje dane do logowania to:<br>Login:".$log_reg."<br>Hasło:".$pass1."<br>Pin:".$pin."<br><br>Dziękujemy za rejestracje i życzymy miłej zabawy.:) <br><br><br><h3>Uwaga: Ten meil został wygenerowany automatycznie, prosimy nie odpowiadać na niego.</h3>" ;
  22.  
  23. mail($email, $tytul, $tresc, $naglowki);
  24. mail($user_mail, $tytul_user, $tresc_user, $naglowki);
  25. echo"Zarejestrowany " .$name."<br>Login:".$log_reg."<br>Hasło:".$pass1."<br>E-mail:".$email."<br>Pin:".$pin;
  26.  
  27. echo"<br><br>Witaj " .$name." <br> Twoje dane do logowania to:<br>Login:".$log_reg."<br>Hasło:".$pass1."<br>Pin:".$pin."<br><br>Dziękujemy za rejestracje i życzymy miłej zabawy.:) <br><br><br><h3>Uwaga: Ten meil został wygenerowany automatycznie, prosimy nie odpowiadać na niego.</h3>" ;
  28.  
  29.  
  30.  
  31. ?>
  32. </body>
  33. </html>


Teść wiadomości wygląda tak:
Zarejestrowany ty<br>Login:login<br>Hasło:haslo<br>E-mail:meil@wp.pl<br>Pin:123456

natomiast jak tę samą linijkę wyświetlę na ekranie przez echo to wszystko jest ładnie pozałamywane:
Zarejestrowany ty
Login:login
Hasło:haslo
E-mail:meil@wp.pl
Pin:123456



Jakieś dwa lata temu wszystko było poprawnie ale teraz nie.
johny_s
jeśli maila wysyłasz jako text/plain to łamaniem lini jest \r\n
<br> dla łamania lini wysyłanych jako html
yaros79
Ale w funkcji echo działa poprawnie.

Jak to zastosować do tego przykładu?

  1. $tresc_user="Zarejestrowany " .$name."<br/>Login:".$log_reg."Hasło:".$pass1."<br/>E-mail:".$email."<br>Pin:".$pin;
trueblue
Kolega wyżej podał Ci przyczynę.
Jeśli nadal upierasz się, że echo jest wyznacznikiem, to się upieraj.
Jeśli nie, to użyłem dla Ciebie magicznej wyszukiwarki Google: http://css-tricks.com/sending-nice-html-email-with-php/ (Zobacz jak są ustawiane nagłówki oraz czym są - dokumentacja funkcji mail()).
johny_s
echo działa poprawnie bo wyświetla stronę w przeglądarce która interpretuje br jako nową linię, zobacz sobie źródło strony
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.