Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.09.2015, 23:37
Кандидат Javascript-наук
Отправить личное сообщение для drkrol Посмотреть профиль Найти все сообщения от drkrol
 
Регистрация: 09.10.2013
Сообщений: 114

Возможно ли в этой форме прикрутить загрузку картинок?
Здравствуйте. Есть такая форма
<div align="left" id="cor5" class="sidebarForm">
<div align="center" id="loadBar"></div>
<form action="#" method="post" id="cForm2">
   <label>Ваш email:</label>
   <div class="input" id="cor5">
   <input value="" id="posEmail" type="text">
   </div>
   <label>Ваше сообщение:</label>
   <div class="textarea" id="cor5"><textarea id="posText"></textarea></div>
<button type="button" id="send">Отправить --></button>
</form></div>


$(document).ready(function() {
// Форма обратной связи................................./

var regVr22 = "<div><img src="../load.gif" alt="Отправка..." ><span>Сообщение обрабатывается...</span></div><br>";

$("#send").click(function(){
		$("#loadBar").html(regVr22).show();
		var posEmail = $("#posEmail").val();
		var posText = $("#posText").val();
		$.ajax({
			type: "POST",
			url: "../send.php",
			data: {"posEmail": posEmail, "posText": posText},
			cache: false,
			success: function(response){
		var messageResp = "<p">Спасибо, <strong>";
		var resultStat = "!</strong> Ваше сообщение отправлено!</p>";
		var oll = (messageResp + resultStat);
				if(response == 1){
				$("#loadBar").html(oll).fadeIn(3000);
				$("#posEmail").val("");
				$("#posText").val("");
				} else {
		$("#loadBar").html(response).fadeIn(3000); }
										}
		});
		return false;
});
});


header("Content-type: text/html; charset=utf-8");
//**********************************************
if(empty($_POST['js'])){

$log =="";
$error="no"; //флаг наличия ошибки

		$posEmail = addslashes($_POST['posEmail']);
		$posEmail = htmlspecialchars($posEmail);
		$posEmail = stripslashes($posEmail);
		$posEmail = trim($posEmail);

		$posText = addslashes($_POST['posText']);
		$posText = htmlspecialchars($posText);
		$posText = stripslashes($posText);
		$posText = trim($posText);



//Если нет ошибок отправляем email  
if($error=="no")
{
//Отправка письма админу о новом комментарии
$to = "mail@yourdomain.ru";//Ваш e-mail адрес
$mes = "Человек отправил Вам сообщение из формы обратной связи Вашего сайта: \n\n$posText";

$from = $posEmail;
$sub = '=?utf-8?B?'.base64_encode('Новое сообщение с Вашего сайта').'?=';
$headers = 'From: '.$from.'
';
$headers .= 'MIME-Version: 1.0
';
$headers .= 'Content-type: text/plain; charset=utf-8
';
mail($to, $sub, $mes, $headers);
echo "1"; //Всё Ok!
}
else//если ошибки есть
{ 
		echo "<p><strong>Ошибка !</strong></font></p><ul>".$log."</ul><br>"; //Нельзя отправлять пустые сообщения

}
}

Подскажите, возможно ли сюда прикрутить функцию отправки картинки? Или ничего не выйдет? Буду рад если вы поможете мне с кодом или дадите какие либо советы по этому поводу.
Ответить с цитированием
  #2 (permalink)  
Старый 13.09.2015, 09:08
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от drkrol
$posEmail = addslashes($_POST['posEmail']);
$posEmail = htmlspecialchars($posEmail);
$posEmail = stripslashes($posEmail);
$posEmail = trim($posEmail);

$posText = addslashes($_POST['posText']);
$posText = htmlspecialchars($posText);
$posText = stripslashes($posText);
$posText = trim($posText);
и

Сообщение от drkrol
$headers .= 'Content-type: text/plain; charset=utf-8
представляем что в итоге получится?
Ответить с цитированием
  #3 (permalink)  
Старый 13.09.2015, 12:19
Кандидат Javascript-наук
Отправить личное сообщение для drkrol Посмотреть профиль Найти все сообщения от drkrol
 
Регистрация: 09.10.2013
Сообщений: 114

неа. Но есть предположение, что вместо картинки придёт http://my.com/kartinka.jpg . Буквами...
Ответить с цитированием
  #4 (permalink)  
Старый 13.09.2015, 12:32
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А если "неа", то зачем же это дается? Вы сперва разберитесь с отправкой почты, а уж потом думайте о картинках.

Зачем к значению адреса применять addslashes? Это значению нужно проверять на соответствие формату, и одного значения, а не пачки адресов.

А что будет содержать тело почтового сообщения, текстового, если оно будет пропущено через htmlspecialchars?

Все действия вами прописанные, это несуразица.
Ответить с цитированием
  #5 (permalink)  
Старый 13.09.2015, 13:47
Кандидат Javascript-наук
Отправить личное сообщение для drkrol Посмотреть профиль Найти все сообщения от drkrol
 
Регистрация: 09.10.2013
Сообщений: 114

Подождите. Форма работает. Всё исправно. http://pavelmakarov.ru/sajtostroenie...ezagruzki.html Вот форма. И Она бесперебойно отправляет письма на почту. Но как прикрутить туда отправку файлов (картинок), я понятия не имею. По этому написал сюда. Может быть кто то знает, как сие чудо сотворить.
Ответить с цитированием
  #6 (permalink)  
Старый 13.09.2015, 13:57
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от drkrol
Форма работает.
Открывайте руководство РНР и читайте внимательно, чтобы понять, что

$posEmail = addslashes($_POST['posEmail']);
$posEmail = htmlspecialchars($posEmail);
$posEmail = stripslashes($posEmail);
$posEmail = trim($posEmail);
$posText = addslashes($_POST['posText']);
$posText = htmlspecialchars($posText);
$posText = stripslashes($posText);
$posText = trim($posText);

это глупость. Это не код, это набор несуразицы. А в почтовом сообщении text/plain < будет отображаться &lt;. Читайте, ибо вы не понимаете назначения ни addslashes, ни stripslashes, ни htmlspecialchars, втыкая их туда, где они совсем не нужны.
Ответить с цитированием
  #7 (permalink)  
Старый 13.09.2015, 15:13
Кандидат Javascript-наук
Отправить личное сообщение для drkrol Посмотреть профиль Найти все сообщения от drkrol
 
Регистрация: 09.10.2013
Сообщений: 114

laimas,
Вы бы не могли подкинуть ссылку на "нормальную" форму отправки письма без перезагрузки страницы?
Ответить с цитированием
  #8 (permalink)  
Старый 13.09.2015, 15:22
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

А какую форму вам надо? Дело разве в форме?
Вы не правильно проверяете и обрабатываете данные на сервере, а форма самая обычная. В сети о правилах отправки почты много написано, а о функциях, которые вы используете, и которые совсем не нужны в данном случае читайте в руководстве.
Ответить с цитированием
  #9 (permalink)  
Старый 13.09.2015, 15:45
Кандидат Javascript-наук
Отправить личное сообщение для drkrol Посмотреть профиль Найти все сообщения от drkrol
 
Регистрация: 09.10.2013
Сообщений: 114

Не правильно выразился. Не форму, а всю эту байду с нормальным js и с нормальным php кодом. Может вы знаете где есть уже готовый вариант?
Ответить с цитированием
  #10 (permalink)  
Старый 13.09.2015, 16:07
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Если имеется ввиду отправка формы асинхронным запросом включая и файлы, то да, есть такие готовые плагины для jQ, гугл поможет найти. Для сервера также много готовых классов по отправке почты, например phpmailer.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возможно ли к сайту одностраничнику на AngularJS прикрутить Wordpress? Mechman Angular.js 0 05.07.2015 03:51
Как замедлить загрузку картинок? frost18 Общие вопросы Javascript 6 02.08.2012 00:16
Возможно ли предотвратить загрузку элемента? Pumych Firefox/Mozilla 0 25.12.2010 16:15