Help помогите разобраться с php функцию mail(); .mail_class

Jnger

Новичок
Help помогите разобраться с php функцию mail(); .mail_class

Help помогите разобраться с php функцию mail(); .mail_class
Не как не могу понять как подключить программу к форме которая на HTML странице
Где какие пункты з что отвечают
Как заставить работать форму что бы с сайта на мыло можно отправлять почту!
Текст программы:
<?php
class Mail
{
var $to = '';
var $from = '';
var $reply_to = '';
var $cc = '';
var $bcc = '';
var $subject = '';
var $msg = '';
var $validate_email = true;
var $rigorous_email_check = true;
var $allow_empty_subject = false;
var $allow_empty_msg = false;


var $headers = array();
function check_fields()
if(empty($this -> to))
{
return false;
}
if(!$this -> allow_empty_subject && empty($this -> subject))
{
return false;
}
if(!$this -> allow_empty_msg && empty($this -> msg))
{
return false;
}
if(!empty($this -> from))
{
$this->headers[] = "From: $this -> from";
}
if(!empty($this -> reply_to))
{
$this -> headers[] = "Reply_to: $this -> reply_to";
}
if ($this -> validate_email)
{
if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $this -> to))
{
return false;
}
return true;
}
}

function send()
{
if(!$this -> check_fields()) return true;
if (mail($this -> to, htmlspecialchars( stripslashes(trim($this -> subject))),
htmlspecialchars(stripslashes(trim($this -> msg)))))
{
return true;
}else{
return false;
}
}
}
?>

также есть и второй фаил скрипта:
<?php
include("./mail_class.php");
$mail = new Mail();
$mail -> to = "тут ставишь своё мыли на скока я понял";
$mail -> subject = "";
$mail -> msg = "";
$mail -> msg = "";
$mail -> rigorous_email_check = 0;
if($mail->send()){
echo("Форма отправлена");
}else{
echo("error");
}
echo("<br>");
echo($mail -> msg);
?>
 

Mondain

Новичок
А что именно не понятно?
Берем данные из формы и присваиваем их классу маил.

Например:
PHP:
$mail = new Mail ();
$mail->to = $_POST['email'];
$mail->subject = $_POST['subject'];
и т.д.
 

Jnger

Новичок
какие данные HTML код???

-~{}~ 14.11.07 10:26:

сори за лаймерство просто не давно начял учить php
 

Jnger

Новичок
таньк огромное вроде разобрался

-~{}~ 14.11.07 17:59:

так как куда что надо вписывать (блин я окончательно запутался)
есть форма, к примеру вот такая:
_____________________________________________________________________________
<form ENCTYPE="text/plain" NAME="mail_class"
ACTION="senmail.php" METHOD="POST">
<input type="hidden" name="Форма заказа" value="Форма заказа">
<div align="left">
<table border="0" cellspacing="10" cellpadding="0" bgcolor="#FFFFFF" width="600">
<tr valign="top">
<td width="48%" class="style28" bordercolor="#C0C0C0">
<strong class="style1 box1">
<font color="#000080">Контактное лицо (тел, e-mail)</font></strong></td>
<td true width="52%">
<input type="text" name="Контактное лицо (тел, e-mail)" maxlength="64" size="40" style="font-size:11px; width:100%"/> </td>
</tr>
<tr valign="top">
<td width="48%" class="style28" true><font color="#000080"><b>
Объем груза, м3</b></font></td>
<td true width="52%">
<input type="text" name="Объем груза, м3" maxlength="64" size="40" style="font-size:11px; width:100%"/> </td>
</tr>
<tr valign="top">
<td true width="48%"> </td>
<td true width="52%" >
<input type="submit" name="" value="Отправить"> </td>
</tr>
___________________________________________________________________________
как мне её подключить к програме mail_class или что тут надо что бы она через сервак с сайта отправлялась????
 

Mondain

Новичок
Класс mail () у тебя находится в скрипте sendmail.php. Теперь тебе надо из формы передать данные классу методом POST, что ты и делаешь.

# forma.html

<form action="sendmail.php" method="POST">
<input type="text" name="email" maxlength="64" size="40">
<input type="text" name="subject" maxlength="64" size="40">
<input type="text" name="objem" maxlength="64" size="40">
<input type="submit" name="send" value="Отправить">
</form>


# sendmail.php

PHP:
$mail = new Mail();
$mail -> to = $_POST['email'];
$mail -> subject = $_POST['subject'];
$mail -> msg = $_POST['objem'];
$mail -> rigorous_email_check = 0;

if($mail->send()){
echo("Форма отправлена");
}else{
echo("error");
}

echo("<br>");
echo($mail -> msg);
Это не готовый скрипт, это пример.
 

Jnger

Новичок
ошибок стало меньше
но почему на мыло форма не приходит
 

TutanXamoN

Новичок
Jnger
вручную выведи посылаемые данные и проверь не заблокирована ли
PHP:
mail();
 

Jnger

Новичок
Всё, башка не варит уже, я тут во сне методы отправки перебирал, жена долго смеялась!
Народ дайте рабочий пример чтоб я просто вписал мыло и всё отправилось просто тупа на пример мне смотреть надо если можно прокомментируйте кто за что отвечает!!! Плизззз.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Jnger
Рабочий пример можно преспокойно посмотреть в мануале.
[m]mail[/m]
 

TutanXamoN

Новичок
Ув Jnger у тебя класс нерабочий.
Йа тут по быстренькому отправку делаю и на 19 строке там скобочки ни хватает.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Jnger
Может хватит клянчить и пора начинать учиться?

стаит там скобка
Нистаит там скобка.
PHP FAQ: Ничего не работает! Что делать???

дай рабочии файлы с формой
В этом форуме не раздают формы с рабочими скриптами, а _помогают советом_, _учат_...
 

Jnger

Новичок
Автор оригинала: Mr_Max
Jnger
Может хватит клянчить и пора начинать учиться?


Нистаит там скобка.
PHP FAQ: Ничего не работает! Что делать???


В этом форуме не раздают формы с рабочими скриптами, а _помогают советом_, _учат_...
как я научусь без рабочего примера методом тык или подбора что ли
не проще просто глянуть рабочий вариант???

-~{}~ 15.11.07 14:52:

про скобку есть она там, или я просто ослеп

ошибки хоть не пошит но на мыло не чего не приходит
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Jnger
Читать когда научитесь?
function check_fields()
добавь
{
"Ничего не приходит", потому что ошибка в синтаксисе.
"Ничего не показывает" - потому, что выключен вывод ошибок.

http://phpfaq.ru/debug
 

Jnger

Новичок
Автор оригинала: Mr_Max
Jnger
Читать когда научитесь?

"Ничего не приходит", потому что ошибка в синтаксисе.
"Ничего не показывает" - потому, что выключен вывод ошибок.

http://phpfaq.ru/debug
?php
class Mail
{

var $to = '[email protected]';
var $from = '';
var $reply_to = '';
var $cc = '';
var $bcc = '';
var $subject = '';
var $msg = '';
var $validate_email = true;

var $rigorous_email_check = true;

var $allow_empty_subject = false;

var $allow_empty_msg = false;


var $headers = array();


function check_fields()

{




if(empty($this -> to))
{
return false;
}
if(!$this -> allow_empty_subject && empty($this -> subject))
{
return false;
}
if(!$this -> allow_empty_msg && empty($this -> msg))
{
return false;
}

if(!empty($this -> from))
{
$this->headers[] = "From: $this -> from";
}
if(!empty($this -> reply_to))
{
$this -> headers[] = "Reply_to: $this -> reply_to";
}

if ($this -> validate_email)
{
if (!preg_match("/[0-9a-z_]+@[0-9a-z_^\.]+\.[a-z]{2,3}/i", $this -> to))
{
return false;
}
return true;
}
}

function send()

{
if(!$this -> check_fields()) return true;
if (mail($this -> to, htmlspecialchars( stripslashes(trim($this -> subject))),
htmlspecialchars(stripslashes(trim($this -> msg)))))
{
return true;
}else{
return false;
}
}
}

Хочеш сказать что всё ещё надо скобку поставить????
 
Сверху