За последние 24 часа нас посетили 20150 программистов и 1723 робота. Сейчас ищут 1729 программистов ...

Где прописать адрес отправки письма в скрипте форм?

Тема в разделе "PHP для новичков", создана пользователем sologub, 11 апр 2015.

  1. sologub

    sologub Новичок

    С нами с:
    5 ноя 2013
    Сообщения:
    10
    Симпатии:
    0
    Братия!
    Скрутил себе на генераторе форм форму отправки сообщений прикрутил - вроде работает: все поля заполняет, при нажатии "отправить" - данные уходят.
    Но куда! Мне не понятно. И где прописать свой адрес, что бы уходили ко мне?

    Код (PHP):
    1. <?php
    2. /**
    3.  * Created with WebFormGenerator.eu
    4.  * Powered by www.easyclick.ch
    5.  */
    6.  
    7. $form = new ProcessForm();
    8. $form->field_rules = array(
    9.     '1'=>'required',
    10.     '3'=>'required',
    11.     'field2'=>'required',
    12.     'field3'=>'required',
    13.     'field6'=>'required',
    14.     'field7'=>'required',
    15.     'field9'=>'required',
    16.     'field10'=>'required',
    17.     'field11'=>'required',
    18.     'field12'=>'required',
    19.     'field13'=>'required',
    20.     'field14'=>'required',
    21.     'field15'=>'required',
    22.     'field16'=>'email|required',
    23.     'field18'=>'required',
    24.     'field19'=>'required',
    25.     'field20'=>'required'
    26. );
    27. $form->validate();
    28.  
    29. class ProcessForm
    30. {
    31.     public $field_rules;
    32.     public $error_messages;
    33.     public $fields;
    34.     private $error_list;
    35.     private $is_xhr;
    36.  
    37.  
    38.  
    39.  
    40.  
    41.     function __construct()
    42.     {
    43.         $this->error_messages = array(
    44.             'required' => 'This field is required',
    45.             'email' => 'Please enter a valid email address',
    46.             'number' => 'Please enter a numeric value',
    47.             'url' => 'Please enter a valid URL',
    48.             'pattern' => 'Please correct this value',
    49.             'min' => 'Please enter a value larger than the minimum value',
    50.             'max' => 'Please enter a value smaller than the maximum value'
    51.         );
    52.  
    53.         $this->field_rules = array();
    54.         $this->error_list = '';
    55.         $this->fields = $_POST;
    56.         $this->is_xhr = $this->xhr();
    57.     }
    58.  
    59.  
    60.  
    61.  
    62.  
    63.     function validate()
    64.     {
    65.         if (!empty($this->fields))
    66.         {
    67.             //Validate each of the fields
    68.             foreach ($this->field_rules as $field => $rules)
    69.             {
    70.                 $rules = explode('|', $rules);
    71.  
    72.                 foreach ($rules as $rule)
    73.                 {
    74.                     $result = null;
    75.  
    76.                     if (isset($this->fields[$field]))
    77.                     {
    78.                         $param = false;
    79.  
    80.                         if (preg_match("/(.*?)\[(.*?)\]/", $rule, $match))
    81.                         {
    82.                             $rule = $match[1];
    83.                             $param = $match[2];
    84.                         }
    85.  
    86.                         $this->fields[$field] = $this->clean($this->fields[$field]);
    87.  
    88.                         //if the field is a checkbox group create string
    89.                         if (is_array($this->fields[$field]))
    90.                             $this->fields[$field] = implode(', ', $this->fields[$field]);
    91.  
    92.                         // Call the function that corresponds to the rule
    93.                         if (!empty($rule))
    94.                             $result = $this->$rule($this->fields[$field], $param);
    95.  
    96.                         // Handle errors
    97.                         if ($result === false)
    98.                             $this->set_error($field, $rule);
    99.                     }
    100.                 }
    101.             }
    102.  
    103.             if (empty($this->error_list))
    104.             {
    105.                 if ($this->is_xhr)
    106.                     echo json_encode(array('status' => 'success'));
    107.  
    108.                 $this->process();
    109.             }
    110.             else
    111.             {
    112.                 if ($this->is_xhr)
    113.                     echo json_encode(array('status' => 'invalid', 'errors' => $this->error_list));
    114.                 else echo $this->error_list;
    115.             }
    116.         }
    117.     }
    118.  
    119.  
    120.  
    121.  
    122.  
    123.     function process()
    124.     {
    125.          /**
    126.          * SUCCESS!!
    127.          * There were no errors in the form. Insert your processing logic here (i.e. send an email, save to a
    128.          * database etc.
    129.          *
    130.          * All of the submitted fields are available in the $this->fields variable.
    131.          *
    132.          * Example code to mail the results of the form:
    133.          *
    134.          * IMPORTANT - PLEASE READ:
    135.          * 1. YOU MUST UNCOMMENT THE CODE FOR IT TO WORK.
    136.          *    - This means removing the '//' in front of each line.
    137.          *    - If you do not know what php comments are see here: http://php.ru/manual/language.basic-syntax.comments.html
    138.          *
    139.          * 2. YOU CAN ENTER ANY EMAIL ADDRESS IN THE $from VARIABLE.
    140.          *    - This is the address that will show in the From column in your mail application.
    141.          *    - If your form contains an email field, and you want to use that value as the $from variable, you can set $from = $this->fields['name of your email field'];
    142.          *    - As stated in the description on codecanyon, this code does not mail attachments. Google 'php html email attachments' for information on how to do this
    143.          */
    144.  
    145.  
    146.  
    147.          // $msg = "Form Contents: \n\n";
    148.          // foreach($this->fields as $key => $field)
    149.          //       $msg .= "$key :  $field \n";
    150.  
    151.          // $to = 'emailaddress@domain.com';
    152.          // $subject = 'Form Submission';
    153.          // $from = 'emailaddress@domain.com';
    154.  
    155.          // mail($to, $subject, $msg, "From: $from\r\nReply-To: $from\r\nReturn-Path: $from\r\n");
    156.  
    157.  
    158.     }
    159.  
    160.  
    161.  
    162.     function set_error($field, $rule)
    163.     {
    164.         if ($this->is_xhr)
    165.         {
    166.             $this->error_list[$field] = $this->error_messages[$rule];
    167.         }
    168.         else $this->error_list .= "<div class='error'>$field: " . $this->error_messages[$rule] . "</div>";
    169.     }
    170.  
    171.  
    172.  
    173.  
    174.  
    175.     function xhr()
    176.     {
    177.         return (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') ? true : false;
    178.     }
    179.  
    180.  
    181.  
    182.  
    183.  
    184.     /** Validation Functions */
    185.     function required($str, $val = false)
    186.     {
    187.  
    188.         if (!is_array($str))
    189.         {
    190.             $str = trim($str);
    191.             return ($str == '') ? false : true;
    192.         }
    193.         else
    194.         {
    195.             return (!empty($str));
    196.         }
    197.     }
    198.  
    199.  
    200.  
    201.  
    202.  
    203.     function email($str)
    204.     {
    205.         return (!preg_match("/^(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){255,})(?!(?:(?:\\x22?\\x5C[\\x00-\\x7E]\\x22?)|(?:\\x22?[^\\x5C\\x22]\\x22?)){65,}@)(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22))(?:\\.(?:(?:[\\x21\\x23-\\x27\\x2A\\x2B\\x2D\\x2F-\\x39\\x3D\\x3F\\x5E-\\x7E]+)|(?:\\x22(?:[\\x01-\\x08\\x0B\\x0C\\x0E-\\x1F\\x21\\x23-\\x5B\\x5D-\\x7F]|(?:\\x5C[\\x00-\\x7F]))*\\x22)))*@(?:(?:(?!.*[^.]{64,})(?:(?:(?:xn--)?[a-z0-9]+(?:-[a-z0-9]+)*\\.){1,126}){1,}(?:(?:[a-z][a-z0-9]*)|(?:(?:xn--)[a-z0-9]+))(?:-[a-z0-9]+)*)|(?:\\[(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){7})|(?:(?!(?:.*[a-f0-9][:\\]]){7,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,5})?)))|(?:(?:IPv6:(?:(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){5}:)|(?:(?!(?:.*[a-f0-9]:){5,})(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3})?::(?:[a-f0-9]{1,4}(?::[a-f0-9]{1,4}){0,3}:)?)))?(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))(?:\\.(?:(?:25[0-5])|(?:2[0-4][0-9])|(?:1[0-9]{2})|(?:[1-9]?[0-9]))){3}))\\]))$/iD", $str)) ? false : true;
    206.     }
    207.  
    208.  
    209.  
    210.  
    211.  
    212.     function number($str)
    213.     {
    214.         return (!is_numeric($str)) ? false : true;
    215.     }
    216.  
    217.  
    218.  
    219.  
    220.  
    221.     function min($str, $val)
    222.     {
    223.         return ($str >= $val) ? true : false;
    224.     }
    225.  
    226.  
    227.  
    228.  
    229.  
    230.     function max($str, $val)
    231.     {
    232.         return ($str <= $val) ? true : false;
    233.     }
    234.  
    235.  
    236.  
    237.  
    238.  
    239.     function pattern($str, $pattern)
    240.     {
    241.         return (!preg_match($pattern, $str)) ? false : true;
    242.     }
    243.  
    244.  
    245.  
    246.  
    247.  
    248.     function clean($str)
    249.     {
    250.         $str = is_array($str) ? array_map(array("ProcessForm", 'clean'), $str) : str_replace('\\', '\\\\', strip_tags(trim(htmlspecialchars((get_magic_quotes_gpc() ? stripslashes($str) : $str), ENT_QUOTES))));
    251.         return $str;
    252.     }
    253. }
    254.  
    255.  
    256. ?>
    257.  
    258. Спасибо за помощь.
    259. P.S.: Готов за труд братии перевести 70 р. на яндексДеньгу. 
     
  2. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    Код (Text):
    1. // $msg = "Form Contents: \n\n";
    2.          // foreach($this->fields as $key => $field)
    3.          //       $msg .= "$key :  $field \n";
    4.  
    5.          // $to = 'emailaddress@domain.com';
    6.          // $subject = 'Form Submission';
    7.          // $from = 'emailaddress@domain.com';
    8.  
    9.          // mail($to, $subject, $msg, "From: $from\r\nReply-To: $from\r\nReturn-Path: $from\r\n");
    а зачем код закоменнтировал??? как раз, видимо, тут и надо указывать "от" и "откого" ;)
     
  3. sologub

    sologub Новичок

    С нами с:
    5 ноя 2013
    Сообщения:
    10
    Симпатии:
    0
    Я смутно догадывался что в этом месте)
    Спасибо, братие!
    Как решим с кофе/пивом?
     
  4. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    ну... видимо никак... не потребляю не то, не другое ;)
     
  5. sologub

    sologub Новичок

    С нами с:
    5 ноя 2013
    Сообщения:
    10
    Симпатии:
    0
    не получилось(
    убрал комментарии, ввел свою почту, залил на сервер... и... "0"...
    Я в PHP дубовый(
     
  6. p@R@dox 55RU

    p@R@dox 55RU Зэк
    [ БАН ]

    С нами с:
    21 май 2014
    Сообщения:
    1.358
    Симпатии:
    7
    Адрес:
    с планеты Ялмез
    предположу, что проблема может быть с почтовым сервером, для работы с функцией mail, если не понятно..