|
|
|
| Здравствуйте!
Подскажите пожалуйста как сделать, что бы к существующей форме и обработчику сделать прикрепление файла, что бы он с письмом отправлялся на emil, а не на сервер.
Форма:
<script language="JavaScript">
function pr(form)
{
if((form.fio1.value=="")||(form.fio2.value=="")||(form.fio3.value=="")||(form.tel.value=="")||(form.email.value=="")||(form.message.value==""))
{
alert("Вы заполнили не все поля! Заполните поля обязательные для заполнения!");
return false;
}
else
return true;
}
</script>
<script language="javascript">
function checkEmail(inputvalue){
var pattern=/^([a-zA-Z0-9_.-])+@([a-zA-Z0-9_.-])+\.([a-zA-Z])+([a-zA-Z])+/;
if(pattern.test(inputvalue))
{
return true;
}
else
{
alert("Вы неверно заполнили поле E-mail адреса!");
return false;
}
}
</script>
<form action="send.php" method="post" name="forma" onSubmit="return pr(forma)">
<p align="center" class="gtitle">Заполните форму заявки Вашими данными:</p>
<table border="0" align="center">
<tr><td width="206" align="right" valign="top"><p class="mgtitle">Название организации, <br>предприятия: </p></td>
<td width="210" align="left" valign="top"><input name="org" type="text" size="30" maxlength="50" class="in1"><br><br></td></tr>
<tr><td align="right" valign="top"><p class="mgtitle">* Фамилия: </p></td>
<td align="left" valign="top"><input name="fio1" type="text" size="30" maxlength="30" class="in1"></td></tr>
<tr><td align="right" valign="top"><p class="mgtitle">* Имя: </p></td>
<td align="left" valign="top"><input name="fio2" type="text" size="30" maxlength="30" class="in1"></td></tr>
<tr><td align="right" valign="top"><p class="mgtitle">* Отчество: </p></td>
<td align="left" valign="top"><input name="fio3" type="text" size="30" maxlength="30" class="in1"></td></tr>
<tr><td align="right" valign="top"><p class="mgtitle">* Телефон: </p></td>
<td align="left" valign="top"><input name="tel" type="text" size="30" maxlength="30" class="in1"></td></tr>
<tr><td align="right" valign="top"><p class="mgtitle">* E-mail адрес: </p></td>
<td align="left" valign="top"><input name="email" type="text" size="30" maxlength="30" class="in1">
<br><br></td></tr>
<tr><td colspan="2" valign="top" align="left"><span class="mgtitle"> * Текст заявки в произвольной форме:</span><br> <span class="f">Укажите вид диска, количество копий, вариант упаковки и полиграфии.</span></td></tr>
<tr>
<td align="center" valign="top" colspan="2"><textarea name="message" cols="60" rows="7" class="ta1"></textarea>
<br></td></tr>
<tr align="center" valign="top"><td colspan="2"><span class="f"><span class="mgtitle">*</span>-поля обязательные для заполнения</span><br></td></tr>
<tr align="center" valign="top"><td colspan="2"><input class="bt1" type="submit" value="Отправить заявку" onClick="return checkEmail(document.forma.email.value)"></td></tr></table>
</form>
Обработчик:
<?php
if (isset($_POST['$org'])) {$org = $_POST['$org'];}
if (isset($_POST['$fio1'])) {$fio1 = $_POST['$fio1'];}
if (isset($_POST['$fio2'])) {$fio2 = $_POST['$fio2'];}
if (isset($_POST['$fio3'])) {$fio3 = $_POST['$fio3'];}
if (isset($_POST['$tel'])) {$tel = $_POST['$tel'];}
if (isset($_POST['$email'])) {$email = $_POST['$email'];}
if (isset($_POST['$message'])) {$message = $_POST['$message'];}
$address = 'reka.alpha@mail.ru';
$sub = "Заявка по тиражированию дисков";
$mes = "Организация, предприятие: $org \n Фамилия: $fio1 \n Имя: $fio2 \n Отчество: $fio3 \n Телефон: $tel \n E-mail: $email \n Текст заявки: \n $message";
$verify = mail ($address,$sub,$mes,"Content-type:text/plain; charset = windiws-1251\r\nFrom:$email");
if ($verify == 'true')
{
include("sendyes.php");
}
else
{
include("sendno.php");
}
?>
За ранее благодарю за ответ. | |
|
|
|
|
|
|
|
для: А.Евгений
(02.02.2009 в 19:21)
| | Во-первых сама форма у вас не сможет передать файла на сервер. Для того чтобы она могла это сделать, она должна иметь атрибут enctype="multipart/form-data". Ваш вопрос звучит примерно так - как клиенту минуя сервер отправить почту. В этом случае атрибуту action формы нужно указать адрес электронной почты, например, action="mailto:as@as.as". Но в этом случае атрибут enctype формы может принимать значание только "text/plain", а значит о передаче вложенного файла в почту и речи быть не может.
Вам нужно принимать форму и файл на сервере, и уже с него, формируя должным образом почтовое отправление, отправлять его респонденту (вместе с прикрепленным файлом). Как правильно оформлять почтовые отправления можете почитать тут. А как правильно принять файл на сервере читать в мануале. | |
|
|
|