Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP на примерах (2 издание). Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: проверять формуляр и отправлять письмо
 
 автор: 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">

   
 
 автор: cheops   (31.07.2005 в 11:59)   письмо автору
 
   для: cccp   (31.07.2005 в 04:57)
 

Не очень понятно в чём сложность и должно ли письмо содержать фотографию.

   
 
 автор: cccp   (31.07.2005 в 12:13)   письмо автору
 
   для: cheops   (31.07.2005 в 11:59)
 

Привет.
Спасибо за ответ.
Для меня сложность почти во всём, т.к. я мало знаю PHP.
Просто я хочу сделать один формуляр где люди могут послать мне свои данные (типа : имя, рост, цвет волос, e-mail, писмо и т.д.), также послав с формуляром свою фотку и только. Приэтом я не хотел бы это использовало почтовий ящик а через сервер.
Спасибо.

   
 
 автор: cheops   (31.07.2005 в 12:38)   письмо автору
 
   для: 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($fpfilesize($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

   
 
 автор: cccp   (31.07.2005 в 15:09)   письмо автору
 
   для: cheops   (31.07.2005 в 12:38)
 

Спасибо, я попробую сегодня етот формуляр.

А можно ли сделать так что-бы етот человек получил афтоматически письмо на свой почтовий адресс, типа "спасибо товарищ..."

И ешё, я бы хотел что бы можно было послать только файлы типа "image" (.jpg, .gif, ...)

Спасибо ещё раз

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования