Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Generowanie pliku CSV - dane z formularza bez polskich znaków
KamilSTI
post
Post #1





Grupa: Zarejestrowani
Postów: 10
Pomógł: 0
Dołączył: 8.05.2011

Ostrzeżenie: (0%)
-----


Witam,
Mam problem z zapisem danych z formularza do pliku CSV tzn. sam zapis działa bez problemu, ale gdy otwieram plik to zamiast polskich znaków mam krzaczki.
Domyślam się że chodzi o kodowanie i pewnie wystarczy dopisać jedną lub dwie linijki kodu ale jestem początkujący w PHP i nie za bardzo wiem gdzie tkwi problem.


  1. <?php
  2. if ($_POST)
  3. {
  4. $name = $_POST['name'] ? $_POST['name'] : null;
  5. $email = $_POST['email'] ? $_POST['email'] : null;
  6. $tel = $_POST['tel'] ? $_POST['tel'] : null;
  7. $nazwa_w = $_POST['nazwa_warsztatu'] ? $_POST['nazwa_warsztatu'] : null;
  8. $radios = $_POST['radios'] ? $_POST['radios'] : null;
  9.  
  10. // wpisz temat wiadomości
  11. $subject = 'Potwierdzenie zgłoszenia';
  12.  
  13. //wpisz treść wiadomości w htmlu
  14. $message = '
  15. <html>
  16. <head>
  17. </head>
  18. <body>
  19. <h1>Potwierdzenie zgłoszenia</h1>
  20. <p>Witaj '.$name.',</p>
  21. <p>zostałeś zapisany</p>
  22. </body>
  23. </html>
  24. ';
  25.  
  26. $filename = 'PLIKI/'.$nazwa_w.'.csv';
  27.  
  28. $mode = 'a';
  29.  
  30. $content = $name.';'.$email.';'.$tel.';'.$radios.PHP_EOL;
  31.  
  32. if (!$handle = fopen($filename, $mode))
  33. {
  34. echo 'Nie można otworzyć pliku...';
  35. }
  36.  
  37. if (fwrite($handle, $content) === FALSE) {
  38. echo 'Nie można zapisać danych...';
  39. }
  40.  
  41. $headers[] = 'MIME-Version: 1.0';
  42. $headers[] = 'Content-type: text/html; charset=utf-8';
  43. $headers[] = 'To: '.$name.'<'.$email.'>';
  44. $headers[] = 'From: Potwierdzenie <test@domena.pl>';
  45.  
  46. if (!mail($email, $subject, $message, implode("\r\n", $headers)))
  47. $err = 'Nie można wysłać wiadomości'; // komunikat o błędzie przy wysyłaniu maila
  48. else
  49. $success = '<div class="row alert success_box">
  50. <div class=" alert alert-success" role="alert">
  51. <a>Zgłoszenie zostało wysłane pomyślnie. Wkrótce otrzymasz email z potwierdzeniem.<a>
  52. </div>
  53. </div>'; // komunikat gdy wiadomość ok
  54.  
  55. fclose($handle);
  56. }
  57. ?>


Dodam jeszcze, że gdy formularz zostanie wysłany użytkownik otrzyma maila z potwierdzeniem gdzie są jego dane np. imię i nazwisko i tam są polskie znaki.


Z góry dziękuję za pomoc i wyrozumiałość.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 17:48