Отправка копии письма на адрес указанный в форме

Тема в разделе "Как сделать...", создана пользователем kikorik, 12 дек 2014.

  1. kikorik

    kikorik Постоялец

    Регистр.:
    13 май 2012
    Сообщения:
    133
    Симпатии:
    10
    Добрый вечер, уважаемые форумчане. В наследство достался сайт, интернет-магазин, самопис. Все вроде хорошо, но проблема в том, что при оформлении заказа покупателю не приходит письмо с информации о заказе, на емайл указанный в форме заказа.
    Просты формы с отправкой в один конец делала, но давно. Искала информацию, насколько поняла, то за отправку копии получателю отвечате REPLY-TO.
    Но скрипт отправки такой огромный, и не догоняю как сделать. Да и знаний не хватает.
    Помогите пожалуйста. Выкладываю код скрипта

    PHP:
    <?php
    require_once 'includes/define.php';
    require_once 
    'includes/connect.php';
    session_start();

    if(isset(
    $_POST['getorder'])){
    $subject="Заказ с сайта ".SITE_TITLE;

    $html_message="Контакное лицо:".$_POST['face_contact']."<br/> Телефон:".$_POST['phone_contact']."<br/> E-mail:".$_POST['email']." <br/> Адрес доставки:".$_POST['address_dostavka']." <br/> Комментарий к заказу:".$_POST['dopolnitelino']."<br/><br/>";



    $basket_summ=0;
    foreach (
    $_SESSION['basket'] as $key=>$value){
            
    //echo '<tr><td>';
            
    $html_message.='<table width="100%"  border="1" style="border:1px solid #777777;border-collapse:collapse;">';
            
    $html_message.='<thead>';
            
    $html_message.='<tr>';
                
    $html_message.='<td></td>';
                
    $html_message.='<td>Наименование</td>';
                
    $html_message.='<td>Цена р.</td>';
                
    $html_message.='<td align="center">Кол.</td>';
            
    $html_message.='</tr>';
            
    $html_message.='</thead>';
            
    $html_message.='<tbody>';
           
            
    $sql_g="SELECT g.*, v.country, v.title vendor,
             (SELECT image_url FROM goods_img WHERE iid=g.id AND is_main=1 LIMIT 1) image_url,
             s.price_percent_sign, s.price_percent_value
            FROM goods g LEFT OUTER JOIN vendors v
                ON v.id=g.vendor_id
            LEFT OUTER JOIN sections s
                ON s.id=g.parent_id
            WHERE
                g.id=
    $key
               
            "
    ;
            
    $sql_result_g=mysql_query($sql_g) or die('errossr');
            
    $row_g=mysql_fetch_array($sql_result_g);
            
    $link=ROOT_PATH.'index.php?section_id='.$row_g['parent_id'].'&id='.$row_g['id'];
           
            if(isset(
    $_SESSION['basket'][$key]['base'])){
                
    $price=round($row_g['price']*$cur_arr[$row_g['currency_id']]);
                
    $row_g['price_new']!='' ?  $price_new=round($row_g['price_new']*$cur_arr[$row_g['currency_id']]) : $price_new=false;
                if(
    $row_g['price_percent_value']!=''){
                    
    $price_percenr_summ=$row_g['price_percent_value']*($price/100);
                    
    $price_new_percenr_summ=$row_g['price_percent_value']*($price_new/100);
                    
    $row_g['price_percent_sign']==$price=round($price+$price_percenr_summ) : $price=round($price-$price_percenr_summ);
                    
    $price_new['price_percent_sign']==$price_new=round($price_new+$price_new_percenr_summ) : $price_new=round($price_new-$price_new_percenr_summ);
                }
                
    $price_new!=false $cur_price=$price_new $cur_price=$price;
               
                
    $html_message.='<tr>';
                
    $html_message.='<td valign="top"><a href="'.$link.'"  class="gimg"><img src="'.ROOT_PATH.'img_goods/preview/'.$row_g['image_url'].'" width="100"/></a></td>';
                
    $html_message.='<td width="100%" valign="top"><a href="'.$link.'">'.$row_g['title_h'].'</a></td>';
                
    $html_message.='<td valign="top"><b>'.$cur_price.'</b></td>';
                
    $html_message.='<td align="center" valign="top">';
                
    //echo '<input type="text" name="count_'.$row_g['id'].'"  maxlength="3" class="count" value="'.$_SESSION['basket'][$key]['base'][$key].'" />';
                //echo '<a href="" class="redo"></a>';
                
    $html_message.='<b>'.$_SESSION['basket'][$key]['base'][$key].'</b>';
                
    $html_message.='</td>';
                
    $html_message.='</tr>';
                
    $basket_summ+=$cur_price*$_SESSION['basket'][$key]['base'][$key];
            }
           
            if(isset(
    $_SESSION['basket'][$key]['complects'])){
                foreach (
    $_SESSION['basket'][$key]['complects'] as $key_complect=>$value_complect){
                   
                    
    //$sql_complect="SELECT * FROM goods_complects WHERE id=$key_complect";
                    
    $sql_complect="SELECT gc.*,s.price_percent_value,s.price_percent_sign
                                   FROM goods_complects gc INNER JOIN sections s
                                       ON s.id=(SELECT parent_id FROM goods WHERE id=gc.iid)
                                   WHERE gc.id=
    $key_complect";
                    
    $sql_result_complect=mysql_query($sql_complect);
                    
    $num_rows_complect=mysql_num_rows($sql_result_complect);
                    if(
    $num_rows_complect>0){
                        while (
    $row_complect=mysql_fetch_array($sql_result_complect)){
                            
    $price_complect=round($row_complect['price']*$cur_arr[$row_complect['currency_id']]);
                            if(
    $row_g['price_percent_value']!=''){
                                
    $pps_comp=$row_g['price_percent_value']*($price_complect/100);
                                
    $row_g['price_percent_sign']==$price_complect=round($price_complect+$pps_comp) : $price_complect=round($price_complect-$pps_comp);
                           
                            }
                            
    $basket_summ+=$price_complect*$value_complect;
                            
    $html_message.='<td valign="top">';
                            if(
    $row_complect['image_url']!='')
                            
    $html_message.='<a href="'.$link.'"  class="gimg"><img src="'.ROOT_PATH.'img_complects/preview/'.$row_complect['image_url'].'" width="100"/></a>';
                            
    $html_message.='</td>';
                            
    $html_message.='<td width="100%" valign="top"><a href="'.$link.'"  class="gimg">'.$row_complect['title'].'</a><br/>'.$row_complect['description'].'</td>';
                            
    $html_message.='<td valign="top">'.$price_complect.'</td>';
                            
    $html_message.='<td align="center" valign="top">';
                            
    //echo '<input type="text" name="complect_count_'.$row_complect['id'].'" id="complect_count_'.$row_complect['id'].'" maxlength="3" class="count" value="'.$value_complect.'" onblur="addToBasketInp('.$row_complect['id'].','.$row_complect['price'].',this,\'complect_\')"/>';
                            
    $html_message.='<b>'.$value_complect.'</b>';
                            
    $html_message.='</td>';
                        
    $html_message.='</tr>';
                        }
                    }
                }
            }
           
            if(isset(
    $_SESSION['basket'][$key]['equipments'])){
                foreach (
    $_SESSION['basket'][$key]['equipments'] as $key_equip=>$value_equip){
                    
    //echo $key;
                    
    $sql_complect="SELECT ge.*,s.price_percent_value,s.price_percent_sign
                                    FROM goods_equipments ge INNER JOIN sections s
                                       ON s.id=(SELECT parent_id FROM goods WHERE id=ge.iid)
                                    WHERE ge.id=
    $key_equip";
                    
    $sql_result_complect=mysql_query($sql_complect);
                    
    $num_rows_complect=mysql_num_rows($sql_result_complect);
                    if(
    $num_rows_complect>0){
                        
    //echo '<thead>';
                        
    $html_message.='<tr>';
                            
    $html_message.='<td colspan="4"><b>Дополнительное оборудование</b></td>';
                        
    $html_message.='</tr>';
                        
    //echo '</thead>';
                        
    while ($row_complect=mysql_fetch_array($sql_result_complect)){
                            
    $price_complect=round($row_complect['price']*$cur_arr[$row_complect['currency_id']]);
                            if(
    $row_g['price_percent_value']!=''){
                                
    $pps_comp=$row_g['price_percent_value']*($price_complect/100);
                                
    $row_g['price_percent_sign']==$price_complect=round($price_complect+$pps_comp) : $price_complect=round($price_complect-$pps_comp);
                           
                            }
                            
    $basket_summ+=$price_complect*$value_equip;
                            
    $html_message.='<td valign="top">';
                            if(
    $row_complect['image_url']!='')
                            
    $html_message.= '<a href="'.$link.'"  class="gimg"><img src="'.ROOT_PATH.'img_equipments/preview/'.$row_complect['image_url'].'" width="100"/></a>';
                            
    $html_message.= '</td>';
                            
    $html_message.= '<td width="100%" valign="top"><a href="'.$link.'"  class="gimg">'.$row_complect['title'].'</a><br/>'.$row_complect['description'].'</td>';
                            
    $html_message.= '<td valign="top">'.$price_complect.'</td>';
                            
    $html_message.= '<td align="center" valign="top">';
                            
    //echo '<input type="text" name="equip_count_'.$row_complect['id'].'" id="equip_count_'.$row_complect['id'].'" maxlength="3" class="count" value="'.$value_equip.'" onblur="addToBasketInp('.$row_complect['id'].','.$row_complect['price'].',this,\'equip_\')"/>';
                            
    $html_message.= '<b>'.$value_equip.'</b>';
                            
    $html_message.= '</td>';
                        
    $html_message.= '</tr>';
                        }
                    }
                }
            }
            
    $html_message.= '</tbody>';
            
    $html_message.= '</table>';
            
    $html_message.= '<hr/>';
            
    //echo '</td></tr>';
        
    }
       
        
    $html_message.='<span class="gprice">Сумма заказа:</span> <span class="gprice_summ">'.$basket_summ.' руб.</span><br><br>'


    $sql_omail="SELECT content FROM contacts WHERE type ='order_mail'";
    $sql_result_omail=mysql_query($sql_omail);
    $row_omail mysql_fetch_array($sql_result_omail);
    $ordermail=$row_omail['content'];

    //echo $html_message;die;

    $header "From: ".SITE_TITLE."\nContent-Type: text/html; charset=windows-1251";



    if(
    mail($ordermail,$subject,$html_message,$header)){
        
    session_destroy();
        
    header("Location:index.php?send_order=true");
    }else{
        
    header("Location:index.php?send_order=error");
    }

    }else{
        
    header("Location:index.php?send_order=error");
    }
    ?>
     
  2. Q_BASIC

    Q_BASIC

    Регистр.:
    30 ноя 2013
    Сообщения:
    411
    Симпатии:
    288
    PHP:
    $row_omail mysql_fetch_array($sql_result_omail);
    $ordermail=$row_omail['content'];
    Перейти по ссылке
    mail($ordermail,$subject,$html_message,$header)
    $ordermail - это кому, хранится в БД, в столбике `content` ($row_omail['content'])
     
    Пендель нравится это.
  3. yaski

    yaski

    Регистр.:
    21 фев 2010
    Сообщения:
    508
    Симпатии:
    303
    $header = "From: ".SITE_TITLE."\nContent-Type: text/html; charset=windows-1251";
    $header .= "Bcc: email1@mail.ru" . "\r\n";
    $header .= "Bcc: email1@mail.ru" . "\r\n";
    $header .= "Bcc: email1@mail.ru" . "\r\n";
     
  4. kikorik

    kikorik Постоялец

    Регистр.:
    13 май 2012
    Сообщения:
    133
    Симпатии:
    10
    $ordermail - это администратору
     
  5. kikorik

    kikorik Постоялец

    Регистр.:
    13 май 2012
    Сообщения:
    133
    Симпатии:
    10
    если я правильно поняла, то $header .= "Bcc: статический адрес почты, сюда отправляется копия на адрес который не меняется. А мне надо, чтоб адрес подставлялся из поля формы: E-mail:".$_POST['email']. так как здесь покупатель указаывает свой адрес и слать копию нужно ему.
     
  6. kikorik

    kikorik Постоялец

    Регистр.:
    13 май 2012
    Сообщения:
    133
    Симпатии:
    10
    $to = $_POST['email'] так верно будет?
     
  7. yaski

    yaski

    Регистр.:
    21 фев 2010
    Сообщения:
    508
    Симпатии:
    303
    $copyto= htmlspecialchars($_POST['email']);
    ...
    $header = "From: ".SITE_TITLE."\nContent-Type: text/html; charset=windows-1251";
    $header .= "Bcc: ".$copyto. "\r\n";
     
  8. kikorik

    kikorik Постоялец

    Регистр.:
    13 май 2012
    Сообщения:
    133
    Симпатии:
    10
    Спасибо, а в какую часть общего кода надо вставлять подскажите пожалуйста.