[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: форма обратной связи без перезагрузки + аттач
konkordsp
Добрый день!!!
Я вчера нашел очень интересную форму обратной связи.

Форма без перезагрузки страницы.

Установил всё отлично работает. Теперь пытаюсь прикрутить так называемый аттач,
прикрепление файлов к форме обратной связи.

Я так понимаю дело в загрузчике. Я пытался прикрутить различные варианты обработчиков загрузчиков... но всё безрезультатно. На почту приходят письма но без вложенного файла. Помогите пожалуйста разобраться с кодом
обработчика данных comment.php Как сделать чтобы письмо приходило мне на почту вместе с вложенным файлом (файл ексель)

index.html
 <div class="tcenter">
<div
align='center' id='cerror'></div>

<form
method="POST" action="#" enctype="multipart/form-data" name="addcom" id="addcom" onSubmit="return false">
<p>
Ваш имя:</p>
<p><input
type="text" name="name" class="inputtext" id="name"></p>
<p>
Ваш email:</p>
<p><input
type="text" name="email" class="inputtext" id="email"></p>
<p>
Ваш заказ:</p>
<p><input
type="file" name="filename" id="filename"></p>
<p>
Ваше послание:</p>
<p><textarea
class="comarea" name='comtext' cols='60' rows='5'></textarea>
</p>
<p><input
class="formbutton" name="button" type="button" value="Отправить" onclick="doLoad(document.getElementById('addcom'))"></p>
</form>

</div>


comment.php
 <?
// Запрет на кэширование
header("Expires: Mon, 23 May 1995 02:00:00 GTM");
header("Last-Modified: ".gmdate("D, d M Y H:i:s")." GTM");
header("Cache-Control: no-cache, must-revalidate");
header("Pragma: no-cache");
//****

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

require_once 'JsHttpRequest.php';
$JsHttpRequest =& new JsHttpRequest("UTF-8");

//Короткие имена переменных и обрезка пробелов img_title
$comtext = trim($_POST['comtext']);
$email = trim($_POST['email']);
$name = trim($_POST['name']);
$filename = trim($_FILES['filename']); //эту строку я писал, может она не нужна




//Проверка наличия введенного имени

if (empty($name)) { $log .= "<li>Необходимо указать ваше имя!</li>"; $error = "yes"; }
//Проверка длины имени
if(strlen($name)>100) { $log .= "<li>Слишком длинное имя, в вашем распоряжении 100 символов!</li>"; $error = "yes"; }
//Проверка на наличие длинных слов
$mas = preg_split("/[\s]+/",$name); foreach($mas as $index => $val) { if (strlen($val)>60) { $log .= "<li>Слишком длинные слова (более 60 символов) в тексте записи!</li>"; $error = "yes"; break; } }




//Проверка email адреса

function isEmail($email)
{
return(preg_match("/^[-_.[:alnum:]]+@((([[:alnum:]]|[[:alnum:]][[:alnum:]-]*[[:alnum:]])\.)+(ad|ae|aero|af|ag|ai|al|am|an|ao|aq|ar|arpa|as|at|au|aw|az|ba|bb|bd|be|bf|bg|bh|bi|biz|bj|bm|bn |bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|com|coop|cr|cs|cu|cv|cx|cy|cz|de|dj|dk|d m|do|dz|ec|edu|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gh|gi|gl|gm|gn|gov|gp|gq|gr|gs|g t|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|in|info|int|io|iq|ir|is|it|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw| ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|mg|mh|mil|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|museum|mv| mw|mx|my|mz|na|name|nc|ne|net|nf|ng|ni|nl|no|np|nr|nt|nu|nz|om|org|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|pro| ps|pt|pw|py|qa|re|ro|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|st|su|sv|sy|sz|tc|td|tf|tg|th |tj|tk|tm|tn|to|tp|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|yu| za|zm|zw)$|(([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5])\.){3}([0-9][0-9]?|[0-1][0-9][0-9]|[2][0-4][0-9]|[2][5][0-5]))$/i"
,$email));
}

if($email == '')
{
$log .= "<li>Пожалуйста, введите Ваш email!</li>";
$error = "yes";

}

else if(!isEmail($email))
{

$log .= "<li>Вы ввели неправильный e-mail. Пожалуйста, исправьте его!</li>";
$error = "yes";
}


//Экранирование и преобразование опасных символов
if (!get_magic_quotes_gpc())
{
$comtext = addslashes($comtext);
$email = addslashes($email);
$name = addslashes($name);
$filename = addslashes($filename); //эту строку я писал, может она не нужна

}

$comtext = htmlspecialchars($comtext);
$email = htmlspecialchars($email);
$name = htmlspecialchars($name);
$filename = htmlspecialchars($filename); //эту строку я писал, может она не нужна
//****

//Если нет ошибок отправляем email

if($error=="no")
{
$prov = 0;



//Отправка письма админу о новом комментарии
$emailadmin = 'mymail@gmail.com';//e-mail админа
$mes = "Новый заказ от $name: $comtext";

$from = $email;
$to = $emailadmin;
$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, );
//****

$ok ="<p style='font-family:Verdana; font-size:12px; border:2px solid #0c7f00; padding:10px; margin:20px; background-color:#ffffff;'><strong>Спасибо $name! Ваше сообщение отправлено!</strong></p>";


// преобразуем Enter в перенос строки
$comtext=str_replace("\n","<br>\n",$comtext);
//****

//Помещаем результат в массив

$GLOBALS['_RESULT'] = array(
'error' => 'no',
'ok' => $ok
);
//****
}
else//если ошибки есть
{
$log = "<p><font color=#cc0000><strong>Ошибка</strong></font></p><ul style='font-family:Verdana; font-size:12px; border:2px solid #cc0000; padding:10px; margin:20px;'>".$log."</ul>";

//Отправляем результат в массив
$GLOBALS['_RESULT'] = array(
'error' => 'yes',
'er_mess' => $log);
}


Можете скачать данную форму ниже. Там есть всё кроми gif картинки загрузки.

Помогите пожалуйста доделать форму с отправкой файла.

Я уверен что данная форма многим пригодиться.



Спустя 1 минута, 2 секунды (10.04.2011 - 19:09) Krevedko написал(а):
меня Николаевская (твин) форма устраивает вполне

Спустя 7 минут, 3 секунды (10.04.2011 - 19:16) konkordsp написал(а):
Цитата (Krevedko @ 10.04.2011 - 16:09)
меня Николаевская (твин) форма устраивает вполне

А можно по подробней?

Спустя 8 минут, 24 секунды (10.04.2011 - 19:24) Krevedko написал(а):
конечно
ссылка

прикрепление файлов там кстати тоже есть

Спустя 7 минут, 55 секунд (10.04.2011 - 19:32) konkordsp написал(а):
и всё же!!! Кто нибудь знает как сюда дописать загрусчик файла?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.