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.
<?php
if ($_POST)
{
$name = $_POST['name'] ? $_POST['name'] : null;
$email = $_POST['email'] ? $_POST['email'] : null;
$tel = $_POST['tel'] ? $_POST['tel'] : null;
$nazwa_w = $_POST['nazwa_warsztatu'] ? $_POST['nazwa_warsztatu'] : null;
$radios = $_POST['radios'] ? $_POST['radios'] : null;
// wpisz temat wiadomości
$subject = 'Potwierdzenie zgłoszenia';
//wpisz treść wiadomości w htmlu
$message = '
<html>
<head>
</head>
<body>
<h1>Potwierdzenie zgłoszenia</h1>
<p>Witaj '.$name.',</p>
<p>zostałeś zapisany</p>
</body>
</html>
';
$filename = 'PLIKI/'.$nazwa_w.'.csv';
$mode = 'a';
$content = $name.';'.$email.';'.$tel.';'.$radios.PHP_EOL;
if (!$handle = fopen($filename, $mode)) {
echo 'Nie można otworzyć pliku...'; }
if (fwrite($handle, $content) === FALSE) { echo 'Nie można zapisać danych...'; }
$headers[] = 'MIME-Version: 1.0';
$headers[] = 'Content-type: text/html; charset=utf-8';
$headers[] = 'To: '.$name.'<'.$email.'>';
$headers[] = 'From: Potwierdzenie <test@domena.pl>';
if (!mail($email, $subject, $message, implode("\r\n", $headers))) $err = 'Nie można wysłać wiadomości'; // komunikat o błędzie przy wysyłaniu maila
else
$success = '<div class="row alert success_box">
<div class=" alert alert-success" role="alert">
<a>Zgłoszenie zostało wysłane pomyślnie. Wkrótce otrzymasz email z potwierdzeniem.<a>
</div>
</div>'; // komunikat gdy wiadomość ok
}
?>
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ść.