Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 27.01.2014, 09:53   #1
PavelNAndreev
Новичок
Джуниор
 
Регистрация: 27.01.2014
Сообщений: 5
По умолчанию Sendmail работает, функция mail() работает, но есть проблема.

Доброго времени суток уважаемые!

Есть у меня беда (форма отправки сообщений с сайта):

Сама форма
Код HTML:
<form id="contact_form" onClick="return false;" method="post">
                                <label for="name">Имя</label><input name="name" id="name" type="text" placeholder="Имя">
                                <div class="clear"></div>
                                <label for="email">E-MAIL</label><input name="email" id="email" type="text" placeholder="Ваш E-Mail">
                                <div class="clear"></div>
                                <label for="subject">Телефон</label><input name="subject" id="subject" type="text" placeholder="ваш телефон">
                                <div class="clear"></div>
                                <label for="message">Адрес доставки</label><textarea name="message" id="message" placeholder="Ваш адрес доставки"></textarea>
                                <div class="clear"></div>
                                <input type="submit" value="Заказать">
                            </form>
Есть обработка на ajax
Код:
// Validation & Ajax Contact Form Settings

$('#contact_form input[type="submit"]').bind('click', function() {

	$("#contact_form").validate({
		rules: {
			name: { required:true },
			email: 		{ required:true, email: true },
			subject: { required:true },
			message: {required: true}
		},
		messages: {
			name: "Введите Ваше имя",
			email: { required: "Введите Ваш E-Mail", email: "Пожалуйста введите корректный E-mail адрес" },
			subject: "Пожалуйста введите Ваш телефон",
			message: "Пожалуйста введите сообщение"
		},
		errorElement: "span"
	});
	
	if($("#contact_form").valid()) {
	
		$.ajax({  
			url: "mail.php",
			type: 'POST',
			data: "name="+$('#name').val()+"&email="+$('#email').val()+"&subject="+$('#subject').val()+"&message="+$('#message').val(), 
		  	success: function(data) {
		  		if(data == 'Complete') {
		  			alert();
					$('#contact_form').html("<div id='notification'><h2 style='color: rgb(33, 197, 26);'>Ваше сообщение успешно отправлено!</h2><p>"+data+"</p></div>")  
					.hide()  
					.fadeIn(1500, function() {  
					  $('#contact_form').append("");  
					});  
				} else {
					$('#contact_form').html("<div id='notification'><h2 style='color: #F00;'>Ошибка!</h2><p>"+data+"</p></div>")  
					.hide()  
					.fadeIn(1500, function() {  
					  $('#contact_form').append("");  
					});  
				}

		  	},
		  	error: function() {
				$('#contact_form').html("<div id='error'><h2>Извините, произошла ошибка.</h2></div>").css('color', 'red');
			}  
		});  
		
		return false;  

	}

});
Нехватает 1 файла mail.php чтобы эта конструкция работала как часы.
Теперь сама проблема: Какая должна быть конструкция кода php в файле mail.php?
PavelNAndreev вне форума Ответить с цитированием
Старый 27.01.2014, 10:00   #2
Minus_yu
Чатланин!
Форумчанин
 
Аватар для Minus_yu
 
Регистрация: 20.11.2010
Сообщений: 140
По умолчанию

это не проблема, это пока что только отсутствие кода для отправки в файле mail.php
напишите код и будет вам счастье
конструкция кода php должна быть правильной, т.е. чтобы все работало
Minus_yu вне форума Ответить с цитированием
Старый 27.01.2014, 10:05   #3
PavelNAndreev
Новичок
Джуниор
 
Регистрация: 27.01.2014
Сообщений: 5
По умолчанию

Цитата:
Сообщение от Minus_yu Посмотреть сообщение
это не проблема, это пока что только отсутствие кода для отправки в файле mail.php
напишите код и будет вам счастье
конструкция кода php должна быть правильной, т.е. чтобы все работало
Я конечно понимаю что Вы любите пошутить, но всё же, нужна примерная конструкция кода на php типа <?php ?>.
PavelNAndreev вне форума Ответить с цитированием
Старый 27.01.2014, 10:12   #4
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

Цитата:
Сообщение от PavelNAndreev Посмотреть сообщение
Я конечно понимаю что Вы любите пошутить, но всё же, нужна примерная конструкция кода на php типа <?php ?>.
а вы любите готовенькое?

ладно бы была проблема с чем-то.
так у вас и нет ничего по вопросу.

поройте примеры функции mail в гуглу для начала, попробуйте что-то сделать.
а там уж поможем, если будут проблемы.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 27.01.2014, 11:13   #5
PavelNAndreev
Новичок
Джуниор
 
Регистрация: 27.01.2014
Сообщений: 5
По умолчанию

В общем получилось следующее
PHP код:
<?php
// переменные из файла dplanding_ui.js строки 273-276
$name $_POST['name']; // Введите Ваше имя
$email $_POST['email']; // Введите Ваш E-Mail
$subject $_POST['subject']; // Пожалуйста введите Ваш телефон
$message $_POST['message']; // Пожалуйста введите сообщение

 
$to 'opt-roznica@protective-system.ru'// Работает
$subject 'Заказ мультиварок'// Работает
//////////////////////////////////////////////////////////////////////////////////////////////////
$message 'От: '.$name.' Email: '.$email.'Адрес доставки: '.$message.'Номер телефона: '.$subject;
$headers 'От: сайта mt1930.protective-system.ru' "\r\n";

mail($to$subject$message$headers);  

?>
но,

На мыло приходит только такое вот сообщение

От: Павел Андреев Email: info@protective-system.ruСообщение: ПушкинНомер телефона: Заказ мультиварок

Не вставляет номер телефона а вместо него вставляет другой $subject

И на клиент outlook приходит кракозябра вида п•я┌: п÷п╟п╡п╣п╩ п░п╫п╢я─п╣п╣п╡ Email: info@protective-system.ruп║п╬п╬п╠я┴п╣п╫п╦п╣: п÷я┐я┬п╨п╦п╫п²п╬п╪п╣я─ я┌п╣п╩п╣я└п╬п╫п╟: п≈п╟п╨п╟п╥ п╪я┐п╩я▄я┌п╦п╡п╟я─п╬п╨
PavelNAndreev вне форума Ответить с цитированием
Старый 27.01.2014, 11:24   #6
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,150
По умолчанию

аутглюк ф топку.....
а если серьезна - кодировки выставляйте правильные в заголовках
ADSoft вне форума Ответить с цитированием
Старый 27.01.2014, 12:11   #7
PavelNAndreev
Новичок
Джуниор
 
Регистрация: 27.01.2014
Сообщений: 5
По умолчанию

В общем наколдовал при помощи Гугля, но есть все равно затык.
Все поля формы приходят нормально за исключением номера телефона.
Приходит строка вида
От: Павел Андреев Email: info@protective-system.ru Адрес доставки: Пушкин Номер телефона: undefined

Может есть какой нибудь способ кодировки чтобы присылало числовой формат?


PHP код:
<?php
$charset 
"utf-8";

// переменные из файла dplanding_ui.js строки 273-276
$name $_POST['name']; // Введите Ваше имя
$email $_POST['email']; // Введите Ваш E-Mail
$phonenumber $_POST['phonenumber']; // Пожалуйста введите Ваш телефон
$message $_POST['message']; // Пожалуйста введите сообщение

 
$to 'opt-roznica@protective-system.ru'// Работает
$subject '=?UTF-8?B?'.base64_encode('Заказ мультиварок').'?=';  // Работает
//////////////////////////////////////////////////////////////////////////////////////////////////
$message 'От: '.$name.' Email: '.$email.'Адрес доставки: '.$message.'Номер телефона: '.$phonenumber.' ';
$headers 'От: сайта mt1930.protective-system.ru' "\r\n";

mail($to$subject$message$headers$phonenumber);  

?>
PavelNAndreev вне форума Ответить с цитированием
Старый 27.01.2014, 12:31   #8
DpolenST
Форумчанин
 
Регистрация: 28.09.2013
Сообщений: 115
По умолчанию

Цитата:
Сообщение от PavelNAndreev Посмотреть сообщение
В общем наколдовал при помощи Гугля, но есть все равно затык.
Все поля формы приходят нормально за исключением номера телефона.
Приходит строка вида
От: Павел Андреев Email: info@protective-system.ru Адрес доставки: Пушкин Номер телефона: undefined

Может есть какой нибудь способ кодировки чтобы присылало числовой формат?
?>[/PHP]
на самой форме вместо phonenumber указано имя: subject, исправь форму отправки
Что бы еще такого сделать, чтобы ничего не делать?
DpolenST вне форума Ответить с цитированием
Старый 27.01.2014, 12:45   #9
PavelNAndreev
Новичок
Джуниор
 
Регистрация: 27.01.2014
Сообщений: 5
По умолчанию

Цитата:
Сообщение от DpolenST Посмотреть сообщение
на самой форме вместо phonenumber указано имя: subject, исправь форму отправки
Спасибо поменял просто вот этот кусок
Код HTML:
<input name="subject" id="subject" type="text" placeholder="ваш телефон">
на этот
Код HTML:
<input name="phonenumber" id="phonenumber" type="text" placeholder="ваш телефон">
Заработало как надо

Теперь пойду к HTML-щикам чтобы письмо приходило в читабельном виде.
PavelNAndreev вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функция mail() работает, но письмо до почты не доходит napster1991 PHP 9 23.01.2014 11:36
(паскаль) Обработка кв. матрицы. Программа есть. Не корректно работает функция SUM.. aslanbek999 Помощь студентам 3 02.06.2009 19:51
Проблема с UserForm. То работает, то НЕ работает Maxx Microsoft Office Excel 6 19.11.2008 14:51
Не работает mail() в WAMP-е Adamant PHP 8 03.03.2008 22:56