$adres = "*********@mail.ru"; $subject = "Сообщение из формы"; $mes = "Автор назвался ".$name."\nУказал свой адрес: ".$phone."\nСодержание письма: ".$size.""; $verify = mail ($adres,$subject,$mes,"Content-type:text/plain; charset = windows-1251\r\nFrom:$phone"); ?>
и все это дело на почту присылает письма следующего содержания: ��������� �� ����� От кого: <Неизвестно> <> Кому: *************@mail.ru Сегодня, 0:03 Автор назвался Указал свой адрес: Содержание письма:
если с кодировкой еще можно покумекать, но почему он не передает значения инпутов я уже просто не знаю. Помогите пожалуйста.
Скопировал этот код, поменял кодировку файлов на utf-8 и в переменной verify - charset = windows-1251 поменял на utf-8. Отправил форму себе на мыло - все работает.
поменял кодировку в своих файлах, так ничего и не изменилось. Сделал 2 отдельных тестовых файла только с формой и только с обработчиком - все ок, у меня голова сломалась
ок, нашел проблему, форма не отправляется из-за вот этого JS кода
У вас скрипт рассчитывает на то, что данные ему будут переданы методом POST, а плагин fancybox видимо передает методом GET. Решения сходу два - либо в обработчике использовать $_REQUEST вместо $_POST (но помните, в $_REQUEST могут еще и куки попадать), либо в скрипте проверять метод, которым к нему обратились через $_SERVER['REQUEST_METHOD'] и на основании метода получать данные для отправки из $_POST или $_GET.