Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отправка формы почтой, Подскажите лаймеру куда или как и что... 
:(
    Опции темы
jnger
Дата 19.11.2007, 07:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 18.11.2007

Репутация: нет
Всего: нет



Доброва время суток вам!

Подскажите лаймеру куда или как и что надо вписать, что бы форма отправлялась на мыло! автоматически отправлялась ну то есть я просто в коде ввиду своё мыло и форма туда придёт!

и 

На примерах проще учиться!

#mailtest

Код
<?
error_reporting(E_ALL & ~E_NOTICE);

function send_mail($to, $from, $from_name, $subj, $message)
{

$header = "From: $from_name <$from>\r\n";
$header .= "Reply-To: $from_name <$from>\r\n";
$header .= "Return-path: $from_name <$from>\r\n";
$header .= "Content-Type: text/plain\r\n";
$header .= "MIME-Version: 1.0\r\n";
$header .= "X-Priority: 3\r\n";
$header .= "X-MSMail-Priority: Normal\r\n";
$header .= "X-Mailer: PHP/".phpversion()."\r\n";

return mail($to, $subj, $message, $header);
}

$action = $_POST['action'];
$text = $_POST['text'];
$from = $_POST['from'];
$send_to = $_POST['send_to'];
$subject = $_POST['subject'];

if($action != "send")
{
?>
<form action="mailtest.php" method="POST">
<table>
<input type="hidden" name="action" value="send">
<p>
<div align="left">
</p>
<table border="0" cellspacing="10" cellpadding="0" bgcolor="#FFFFFF" width="600">
<tr valign="top">
<td width="48%" bordercolor="#C0C0C0"><strong> Контактное лицо (тел, e-mail)</strong></td>
<td true="true" width="52%"><input type="text" name="form" maxlength="64" size="40"/>
</td>
</tr>
<tr valign="top">
<td width="48%" true="true"><strong> Объем груза, м3</strong></td>
<td true="true" width="52%"><input type="text" name="text" maxlength="64" size="40"/>
</td>
</tr>
<tr valign="top">
<td width="48%" true="true"><strong> Габариты, мм</strong></td>
<td true="true" width="52%"><input type="text" name="text" maxlength="64" size="40"/>
</td>
</tr>
<tr valign="top">
<td width="48%" height="10" true="true"><strong>Брутто вес, кг</strong></td>
<td true="true" width="52%" height="10"><input type="text" name="text" maxlength="64" size="40"/>
</td>
</tr>
<tr>
<td width="48%" true="true"><strong> Нетто вес, кг</strong></td>
<td true="true" width="52%"><input type="text" name="text" maxlength="64" size="40"/>
</td>
</tr>
<tr>
<td width="48%" true="true"><strong> Адрес загрузки</strong></td>
<td true="true" width="52%"><input type="text" name="text" maxlength="64" size="40"/>
</td>
</tr>
<tr valign="top">
<td width="48%" height="73" true="true"><strong>Описание груза</strong></td>
<td true="true" width="52%" height="73"><textarea rows="10" name="text" cols="20"></textarea>
</td>
</tr>
<tr valign="top">
<td true="true" width="48%">_</td>
<td true="true" width="52%" ><input type="submit" name="Input" value="Отправить" />
</td>
</tr>
</table>



</form>
<?
}
else
{

if (send_mail($send_to, $from , $from , $subject, $text))
echo "Письмо отосолано";
else
echo "Письмо не отослано";

}
?>




M
SamDark
Поправил заголовок на более осмысленный.


Это сообщение отредактировал(а) SamDark - 19.11.2007, 12:44
PM WWW ICQ   Вверх
MoLeX
Дата 19.11.2007, 07:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Местный пингвин
****


Профиль
Группа: Модератор
Сообщений: 4076
Регистрация: 17.5.2007

Репутация: 46
Всего: 140



jnger, воспользуйся кнопкой код, а то твое разноцыетное творение разбирать ой как не хочиться  smile 


--------------------
Amazing  smile 
PM MAIL WWW ICQ   Вверх
Alukard
Дата 19.11.2007, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 145
Регистрация: 14.11.2006

Репутация: нет
Всего: нет



Это код вообще тобой написан? По-моему мнению ужасный стиль программирования! Это ни в какие ворота w3c не лезет))) И вообще, пока ты учишься, советовал бы просто использовать функцию mail() и без заголовков сначала попробуй! 
Протестируй свой сервак сначала на наличие почтового клиента) А то может вообще зря трудишься и mail функция не работает даже...
Запусти тестовый скрипт сначала типа такого:
Код

<?php
  mail(Твое_мыло, Тема_письма, Сообщение);
?>

Если все нормуль, то можешь здесь отписать...
--------------------
Блог блогу рознь: Алукардные РецептыPHP, Операционные системы, Россия & США...etc.
PM MAIL   Вверх
kasmanaft
Дата 19.11.2007, 12:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 16.11.2007

Репутация: 1
Всего: 2



Чтобы слать почту, Вам нужен SMTP сервер.
PM MAIL   Вверх
jnger
Дата 19.11.2007, 18:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 18.11.2007

Репутация: нет
Всего: нет



Цитата(Alukard @ 19.11.2007,  11:21)
Это код вообще тобой написан? По-моему мнению ужасный стиль программирования! Это ни в какие ворота w3c не лезет))) И вообще, пока ты учишься, советовал бы просто использовать функцию mail() и без заголовков сначала попробуй! 
Протестируй свой сервак сначала на наличие почтового клиента) А то может вообще зря трудишься и mail функция не работает даже...
Запусти тестовый скрипт сначала типа такого:
Код

<?php
  mail(Твое_мыло, Тема_письма, Сообщение);
?>

Если все нормуль, то можешь здесь отписать...

Не код не я писал!

Всё нормуль!
[code=php]
<?php
  mail(Твое_мыло, Тема_письма, Сообщение);

Добавлено @ 18:23
Цитата(kasmanaft @ 19.11.2007,  12:16)
Чтобы слать почту, Вам нужен SMTP сервер.

зачем?



Это сообщение отредактировал(а) jnger - 19.11.2007, 18:26
PM WWW ICQ   Вверх
kasmanaft
Дата 19.11.2007, 20:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 16.11.2007

Репутация: 1
Всего: 2



Потому что именно он пересылает Ваше письмо. Вы отправляете письмо своему почтовому серверу, а он уже пересылает его получателю.
Можно, конечно, использовать smtp.mail.ru или что-то в этом роде.

Добавлено через 1 минуту и 6 секунд
http://ru.wikipedia.org/wiki/Почтовый_сервер
PM MAIL   Вверх
Pektsekye
Дата 20.11.2007, 01:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 20.11.2007

Репутация: нет
Всего: нет



тут много работы

вопервых надо дать всем полям имена
например :
<input type="text" name="obiom_gruza" maxlength="64" size="40"/>

потом их всех получить 
например:
$obiom_gruza = $_POST['obiom_gruza'];

потом сделать из них сообщение (текст письма)
например:
$text = 'обьем груза: ' . $obiom_gruza  . '\n';
$text .= 'габариты' . $gabarity . '\n';

ну и отправлять:

$send_to = 'твой имейл здесь';
$subject = 'тема письма';

send_mail($send_to, $from , $from , $subject, $text)


ето в двух словах
PM MAIL WWW   Вверх
jnger
Дата 20.11.2007, 03:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 18.11.2007

Репутация: нет
Всего: нет



Pektsekye спосибо за помощ, зделал на твоём примере (так правельней) : #mailtest

тоько вот в Opere при ссылки на mailtest.php просто пустая строница как это можно исправить подскажи плиз!
Код
<?
      error_reporting(E_ALL & ~E_NOTICE);

      function send_mail($send_to, $from , $from , $subject, $text)
      {
      $send_to = '[email protected]';
        $subject = 'Заказ';




          $text = 'Контактное лицо (тел, e-mail): ' .text1. '\n';
          $text = 'обьем груза: ' .text2. '\n';
          $text = 'Габариты, мм: ' .text3. '\n';
          $text = 'Брутто вес, кг: ' .text4. '\n';
          $text = 'Нетто вес, кг: ' .text5. '\n';
          $text = 'Адрес загрузки: ' .text6. '\n';
          $text = 'Описание груза: ' .text7. '\n';
          
          return mail($to, $subj, $message, $header);
      }

      $text1 = $_POST['text1'];
      $text2 = $_POST['text2'];
      $text3 = $_POST['text3'];
      $text4 = $_POST['text4'];
      $text5 = $_POST['text5'];
      $text6 = $_POST['text6'];
      $text7 = $_POST['text7'];



      if($action != "send")
      {
      ?>
      <form action="mailtest.php" method="POST">
      <table>
      <input type="hidden" name="action" value="send">
      <p>
      <div align="left">
      </p>
<table border="0" cellspacing="10" cellpadding="0" bgcolor="#FFFFFF" width="600">
        <tr valign="top">
          <td width="48%" bordercolor="#C0C0C0"><strong> Контактное лицо (тел, e-mail)</strong></td>
          <td true="true" width="52%"><input type="text" name="text1" maxlength="64" size="40"/>
          </td>
        </tr>
        <tr valign="top">
          <td width="48%" true="true"><strong> Объем груза, м3</strong></td>
          <td true="true" width="52%"><input type="text" name="text2" maxlength="64" size="40"/>
          </td>
        </tr>
        <tr valign="top">
          <td width="48%" true="true"><strong> Габариты, мм</strong></td>
          <td true="true" width="52%"><input type="text" name="text3" maxlength="64" size="40"/>
          </td>
        </tr>
        <tr valign="top">
          <td width="48%" height="10" true="true"><strong>Брутто вес, кг</strong></td>
          <td true="true" width="52%" height="10"><input type="text" name="text4" maxlength="64" size="40"/>
          </td>
        </tr>
        <tr>
          <td width="48%" true="true"><strong> Нетто вес, кг</strong></td>
          <td true="true" width="52%"><input type="text" name="text5" maxlength="64" size="40"/>
          </td>
        </tr>
        <tr>
          <td width="48%" true="true"><strong> Адрес загрузки</strong></td>
          <td true="true" width="52%"><input type="text" name="text6" maxlength="64" size="40"/>
          </td>
        </tr>
        <tr valign="top">
          <td width="48%" height="73" true="true"><strong>Описание груза</strong></td>
          <td true="true" width="52%" height="73"><textarea rows="10" name="text7" cols="60"></textarea>
          </td>
        </tr>
        <tr valign="top">
          <td true="true" width="48%">&nbsp;</td>
          <td true="true" width="52%" ><input type="submit" name="Input" value="Отправить" />
          </td>
        </tr>
      </table>
      <?
      }
      else
      {

       if (send_mail($send_to, $from , $from , $subject, $text)
           echo "Письмо отосолано";
       else
           echo "Письмо не отослано";

      }
      ?>


PM WWW ICQ   Вверх
kasmanaft
Дата 20.11.2007, 07:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 16.11.2007

Репутация: 1
Всего: 2



Скорее всего, дело в short_open_tag в php.ini. Попробуйте "<?" заменить на "<?php".

И замените if($action != "send") на if(!isset($_POST['action']))

Добавлено через 1 минуту и 27 секунд
А отключать E_NOTICE нужно уже после написания скрипта, когда удостоверишься, что все работает, как надо.
Т.е.   error_reporting(E_ALL);
PM MAIL   Вверх
jnger
Дата 20.11.2007, 08:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 18.11.2007

Репутация: нет
Всего: нет



Всё поменял! не кокова результата!!!

log Erorr вот что выдаёт

[Tue Nov 20 00:00:10 2007] [notice] caught SIGTERM, shutting down
PHP Warning:  Unknown(): Invalid library (maybe not a PHP library) 'xml.so'  in Unknown on line 0
[Tue Nov 20 00:00:16 2007] [error] VirtualHost 10.1.34.138:0 -- mixing * ports and non-* ports with a NameVirtualHost address is not supported, proceeding with undefined results
[Tue Nov 20 00:00:16 2007] [error] Failed to resolve server name for 10.1.34.138 (check DNS) -- or specify an explicit ServerName
[Tue Nov 20 00:00:16 2007] [notice] Apache/1.3.37 (Unix) PHP/4.4.6 configured -- resuming normal operations
[Tue Nov 20 00:00:16 2007] [notice] Accept mutex: flock (Default: flock)


log Erorr в корневой папке сайта пусто в нём кароче


Это сообщение отредактировал(а) jnger - 20.11.2007, 08:54
PM WWW ICQ   Вверх
kasmanaft
Дата 20.11.2007, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 94
Регистрация: 16.11.2007

Репутация: 1
Всего: 2



Таак.. а вот такой скрипт будет работать?
Код
<?php
phpinfo();
?>


Apache (или denwer) у тебя установлен? smile 

PS зайди на mailtest.php, посмотри код страницы (правой кнопкой, "исходный текст" или что-то в этом роде), что там?

Добавлено @ 09:03
Это что-то с сервером у тебя.
Скачай на http://www.denwer.ru/ себе denwer. Он легко встанет, ничего настраивать даже не придется. Почитай хелп к нему.

Скрипт рабочий (но почту со своего компа слать все равно не получится, нужен почтовый сервер (или более "умный" скрипт, который будет использовать чужой почтовик, например smtp.mail.ru)).

Это сообщение отредактировал(а) kasmanaft - 20.11.2007, 09:05
PM MAIL   Вверх
jnger
Дата 20.11.2007, 09:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 18.11.2007

Репутация: нет
Всего: нет



Цитата(kasmanaft @ 20.11.2007,  08:56)
Таак.. а вот такой скрипт будет работать?
Код
<?php
phpinfo();
?>


Apache (или denwer) у тебя установлен? smile 

PS зайди на mailtest.php, посмотри код страницы (правой кнопкой, "исходный текст" или что-то в этом роде), что там?

Добавлено @ 09:03
Это что-то с сервером у тебя.
Скачай на http://www.denwer.ru/ себе denwer. Он легко встанет, ничего настраивать даже не придется. Почитай хелп к нему.

Скрипт рабочий (но почту со своего компа слать все равно не получится, нужен почтовый сервер (или более "умный" скрипт, который будет использовать чужой почтовик, например smtp.mail.ru)).

Мне не надо со своего компа почту слать 
надо через сервак!
PM WWW ICQ   Вверх
jnger
Дата 20.11.2007, 11:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 18.11.2007

Репутация: нет
Всего: нет



на хосте у меня Apache/1.3.37 (Unix) PHP/4.4.6 configured 

При открытии mailtest.php (на правую кнопку) пусто там нет ваааще не чего!

phpinfo(); 
?>
такое выдаёт Fatal error:
 Maximum execution time of 30 seconds exceeded in /var/www/vhosts/wiki.vingrad.ru/httpdocs/includes/ProfilerStub.php on line 14

PM WWW ICQ   Вверх
jnger
Дата 20.11.2007, 13:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 83
Регистрация: 18.11.2007

Репутация: нет
Всего: нет



Сервак рабочий
PM WWW ICQ   Вверх
Pektsekye
Дата 20.11.2007, 17:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 5
Регистрация: 20.11.2007

Репутация: нет
Всего: нет



вот коечто подправил

Код

<html >
<head> 
<title>Отправка формы почтой</title> 
<meta http-equiv="content-type" content="text/html; charset=utf-8" /> 
</head> 
<body> 
<?

      if(!isset($_POST['submit']))
      {
      ?>
      <form action="mailtest.php" method="POST">
      <table>
      <input type="hidden" name="action" value="send">
      <p>
      <div align="left">
      </p>
<table border="0" cellspacing="10" cellpadding="0" bgcolor="#FFFFFF" width="600">
        <tr valign="top">
          <td width="48%" bordercolor="#C0C0C0"><strong> Контактное лицо (тел, e-mail)</strong></td>
          <td true="true" width="52%"><input type="text" name="text1" maxlength="64" size="40"/>
          </td>
        </tr>
        <tr valign="top">
          <td width="48%" true="true"><strong> Объем груза, м3</strong></td>
          <td true="true" width="52%"><input type="text" name="text2" maxlength="64" size="40"/>
          </td>
        </tr>
        <tr valign="top">
          <td width="48%" true="true"><strong> Габариты, мм</strong></td>
          <td true="true" width="52%"><input type="text" name="text3" maxlength="64" size="40"/>
          </td>
        </tr>
        <tr valign="top">
          <td width="48%" height="10" true="true"><strong>Брутто вес, кг</strong></td>
          <td true="true" width="52%" height="10"><input type="text" name="text4" maxlength="64" size="40"/>
          </td>
        </tr>
        <tr>
          <td width="48%" true="true"><strong> Нетто вес, кг</strong></td>
          <td true="true" width="52%"><input type="text" name="text5" maxlength="64" size="40"/>
          </td>
        </tr>
        <tr>
          <td width="48%" true="true"><strong> Адрес загрузки</strong></td>
          <td true="true" width="52%"><input type="text" name="text6" maxlength="64" size="40"/>
          </td>
        </tr>
        <tr valign="top">
          <td width="48%" height="73" true="true"><strong>Описание груза</strong></td>
          <td true="true" width="52%" height="73"><textarea rows="10" name="text7" cols="60"></textarea>
          </td>
        </tr>
        <tr valign="top">
          <td true="true" width="48%">&nbsp;</td>
          <td true="true" width="52%" ><input type="submit" name="submit" value="Отправить" />
          </td>
        </tr>
      </table>
      <?
      }
      else
      {
        
      $text1 = $_POST['text1'];
      $text2 = $_POST['text2'];
      $text3 = $_POST['text3'];
      $text4 = $_POST['text4'];
      $text5 = $_POST['text5'];
      $text6 = $_POST['text6'];
      $text7 = $_POST['text7'];
    
          $to = '[email protected]';
          $subj = 'Заказ';
          $email_from =   '[email protected]';
          
          $text .= 'Контактное лицо (тел, e-mail): ' .$text1. "\n";
          $text .= 'обьем груза: ' .$text2. "\n";
          $text .= 'Габариты, мм: ' .$text3. "\n";
          $text .= 'Брутто вес, кг: ' .$text4. "\n";
          $text .= 'Нетто вес, кг: ' .$text5. "\n";
          $text .= 'Адрес загрузки: ' .$text6. "\n";
          $text .= 'Описание груза: ' .$text7. "\n";
        
          $text = wordwrap($text, 70);

        
            $headers  = "MIME-Version: 1.0\r\n";
            $headers .= "Content-type: text/plain; charset=windows1251\r\n";
            $headers .= 'From: '.$email_from. "\r\n" .
                'Reply-To: '.$email_from. "\r\n" .
                'X-Mailer: PHP/' . phpversion();
            
            
            
       if (@mail($to, $subj, $text, $headers))
           echo "Письмо отосолано";
       else
           echo "Письмо не отослано";
      }
      ?>
    </body>   
    </html >

PM MAIL WWW   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0842 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.