Formularz kontaktowy


(Gerard Marondel) #1

Witam

Posiadam na stronie taki formularz, lecz wysłane z niego maile krzaczą w polskich ś,ć ó itd., jak temu zaradzić?

Kodowanie na stronie mam takie:

A skrypt formularza jest następujący:

<?php

ob_start();

session_start();

// sprawdzamy, czy zmienna $submit jest pusta 

if (empty($_POST['submit'])) { 

$_SESSION['token'] = '';

for($i=0;$i<5;$i++) {

 $numer = rand(0,9);

 $_SESSION['token'] .= $numer;

$img .= ''; }

// wyświetlamy formularz


        echo "
*  Imie lub nick





*  Adres e-mail





*  Tresc wiadomosci






*  Przepisz poniższy kod:
";

echo $img;

echo "





 


";

    }

    // sprawdzamy, czy zmienne przeslane z formularza nie sa puste

else if (!empty($_POST['tresc']) && !empty($_POST['imie']) && !empty($_POST['email']) && ($_SESSION['token']==$_POST['token'])) {

        // jezeli powyzszy warunek jest spelniony tworzona jest wiadomosc

        // zmienna $message zawiera tresc wiadomosci

        $message = "Tresc wiadomosci:\n$_POST[tresc]\nWyslal: $_POST[imie]\ne-mail: $_POST[email]";

        // zmienna $header zawiera przede wszystkim adres zwrotny

        $header = "From: $_POST[imie] <$_POST[email]>";

        // funkcja mail() za pomoca której wiadomosc zostanie wyslana

        @mail("twoj@mail.pl","Wiadomosc ze strony WWW","$message","$header")

        or die('Nie udalo sie wyslac wiadomosci');

        // wyswietlenie komunikatu w przypadku powodzenia

        echo "
Wiadomosc zostala wyslana poprawnie!";

    }

    // lub w przypadku nie wypelnienia formularza do konca

    else echo "
Wypelnij wszystkie pola formularza!


";


  ob_end_flush();

?>[/code]

(kostek135) #2

http://forum.php.pl/index.php?showtopic=37696

Milion różnych odpowiedzi tu dają wprawdzie, ale może któraś zadziała bo przyczyn takiego stanu może być wiele. Poza tym radzę zmianę kodowania strony na UTF-8.


(Gerard Marondel) #3

kostek135 napisał:

Milion różnych odpowiedzi tu dają wprawdzie, ale może któraś zadziała bo przyczyn takiego stanu może być wiele. Poza tym radzę zmianę kodowania strony na UTF-8.

No niestety nie będę zmieniał z powodu jednego skryptu, próbowałem wszelkich rad ze strony, którą mi podał lecz nie osiągnąłem zamierzonego celu.

Może jeszcze ma ktoś rozwiązanie na ten wyżej napisany skrypt.


(A Krapik) #4

zanim przygotujesz maila do wysłania, przekonwertuj pobrane z formularza dane z latin-2 na utf-8 przy pomocy iconv, może to pomoże.