|
|
|
|
|
для: cheops
(31.07.2005 в 12:38)
| | Спасибо, я попробую сегодня етот формуляр.
А можно ли сделать так что-бы етот человек получил афтоматически письмо на свой почтовий адресс, типа "спасибо товарищ..."
И ешё, я бы хотел что бы можно было послать только файлы типа "image" (.jpg, .gif, ...)
Спасибо ещё раз | |
|
|
|
|
|
|
|
для: cccp
(31.07.2005 в 12:13)
| | Если HTML-форма будет выглядеть следующим образом
<HTML>
<HEAD>
<TITLE>Отправка сообщения</TITLE>
</HEAD>
<BODY>
<H3> <center><font color=#1E90FF> Отправка сообщения </font></H3>
<center>
<table width=1 border=0>
<form action=simple_mail.php method=post>
<tr><td width=50%>To:</td><td align=right><input type=text name=mail_to maxlength=32></td></tr>
<tr><td width=50%>Subject:</td><td align=right><input type=text name=mail_subject maxlength=64></td></tr>
<tr><td width=50%>name</td><td align=right><input name="name" type="text" value=""></td></tr>
<tr><td width=50%>date</td><td align=right><input name="date" type="text" value=""></td></tr>
<tr><td width=50%>cheveux</td><td align=right><input name="cheveux" type="text" value=""></td></tr>
<tr><td width=50%>yeux</td><td align=right><input name="yeux" type="text" value=""></td></tr>
<tr><td width=50%>taille</td><td align=right><input name="taille" type="text" value=""></td></tr>
<tr><td width=50%>expirience</td><td align=right><textarea name="expirience" cols="18" wrap="VIRTUAL"></textarea></td></tr>
<tr><td width=50%>lettre</td><td align=right><textarea name="lettre" cols="50" rows="04" wrap="VIRTUAL" id="casting" value=="Votre message..."</textarea></td></tr>
<tr><td width=50%>Photo:</td><td align=right><input type=file name=mail_file maxlength=64></td></tr>
</tr><tr><td colspan=2><input type=submit value='Отправить'></td></tr>
</form>
</table>
</center>
</BODY>
</HTML>
|
То для неё можно написать следующий HTML-обработчик simple_mail.php
<?php
if(empty($_POST['mail_to'])) exit("Введите адрес получателя");
// проверяем правильности заполнения с помощью регулярного выражения
if (!preg_match("/^[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}$/i", $_POST['mail_to'])) exit("Введите адрес в виде somebody@server.com");
$_POST['mail_to'] = htmlspecialchars(stripslashes($_POST['mail_to']));
$_POST['mail_subject'] = htmlspecialchars(stripslashes($_POST['mail_subject']));
$_POST['name'] = htmlspecialchars(stripslashes($_POST['name']));
$_POST['date'] = htmlspecialchars(stripslashes($_POST['date']));
$_POST['cheveux'] = htmlspecialchars(stripslashes($_POST['cheveux']));
$_POST['yeux'] = htmlspecialchars(stripslashes($_POST['yeux']));
$_POST['taille'] = htmlspecialchars(stripslashes($_POST['taille']));
$_POST['expirience'] = htmlspecialchars(stripslashes($_POST['expirience']));
$_POST['lettre'] = htmlspecialchars(stripslashes($_POST['lettre']));
$picture = "";
// Если поле выбора вложения не пустое - закачиваем его на сервер
if (!empty($_FILES['mail_file']['tmp_name']))
{
// Закачиваем файл
$path = $_FILES['mail_file']['name'];
if (copy($_FILES['mail_file']['tmp_name'], $path)) $picture = $path;
}
$thm = $_POST['mail_subject']
$msg = "";
$msg .= "name - ".$_POST['name']."<br>";
$msg .= "date - ".$_POST['date']."<br>";
$msg .= "cheveux - ".$_POST['cheveux']."<br>";
$msg .= "yeux - ".$_POST['yeux']."<br>";
$msg .= "taille - ".$_POST['taille']."<br>";
$msg .= "expirience - ".$_POST['expirience']."<br>";
$msg .= "lettre - ".$_POST['lettre']."<br>";
// Отправляем почтовое сообщение
if(empty($picture)) mail($users['email'], $thm, $msg);
else send_mail($users['email'], $thm, $msg, $picture);
// Вспомогательная функция для отправки почтового сообщения с вложением
function send_mail($to, $thm, $html, $path)
{
$fp = fopen($path,"r");
if (!$fp)
{
print "Файл $path не может быть прочитан";
exit();
}
$file = fread($fp, filesize($path));
fclose($fp);
$path = substr($path,12);
$boundary = "--".md5(uniqid(time())); // генерируем разделитель
$headers .= "MIME-Version: 1.0\n";
$headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";
$multipart .= "--$boundary\n";
$kod = 'koi8-r'; // или $kod = 'windows-1251';
$multipart .= "Content-Type: text/html; charset=$kod\n";
$multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n";
$multipart .= "$html\n\n";
$message_part = "";
$message_part .= "Content-Type: application/octet-stream";
$message_part .= "; file_name = \"$path\"\n";
$message_part .= "Content-Transfer-Encoding: base64\n";
$message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n";
$message_part .= chunk_split(base64_encode($file))."\n";
$multipart .= "--$boundary\n".$message_part."--$boundary--\n";
if(!mail($to, $thm, $multipart, $headers))
{
echo "К сожалению, письмо не отправлено";
exit();
}
}
?>
|
http://www.softtime.ru/forum/read.php?id_forum=1&id_theme=4572 | |
|
|
|
|
|
|
|
для: cheops
(31.07.2005 в 11:59)
| | Привет.
Спасибо за ответ.
Для меня сложность почти во всём, т.к. я мало знаю PHP.
Просто я хочу сделать один формуляр где люди могут послать мне свои данные (типа : имя, рост, цвет волос, e-mail, писмо и т.д.), также послав с формуляром свою фотку и только. Приэтом я не хотел бы это использовало почтовий ящик а через сервер.
Спасибо. | |
|
|
|
|
|
|
|
для: cccp
(31.07.2005 в 04:57)
| | Не очень понятно в чём сложность и должно ли письмо содержать фотографию. | |
|
|
|
|
|
|
| Помогите ребята!
Хочу составить скрипт который будет проверять мой формуляр и отправлять мне писмо если всё ОК.
Я хочу что бы мне можно было отправить только фотки.
В формуляре будет это:
<input name="name" type="text" value="">
<input name="date" type="text" value="">
<input name="cheveux" type="text" value="">
<input name="yeux" type="text" value="">
<input name="taille" type="text" value="">
<textarea name="expirience" cols="18" wrap="VIRTUAL"></textarea>
<textarea name="lettre" cols="50" rows="04" wrap="VIRTUAL" id="casting" value=="Votre message..."</textarea>
<input name="photos" type="file" id="photos">
|
| |
|
|
|
|