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

kikorik

Постоялец
Регистрация
13 Май 2012
Сообщения
156
Реакции
20
Добрый вечер, уважаемые форумчане. В наследство достался сайт, интернет-магазин, самопис. Все вроде хорошо, но проблема в том, что при оформлении заказа покупателю не приходит письмо с информации о заказе, на емайл указанный в форме заказа.
Просты формы с отправкой в один конец делала, но давно. Искала информацию, насколько поняла, то за отправку копии получателю отвечате 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']==0 ? $price=round($price+$price_percenr_summ) : $price=round($price-$price_percenr_summ);
                $price_new['price_percent_sign']==0 ? $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']==0 ? $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']==0 ? $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");
}
?>
 
PHP:
$row_omail = mysql_fetch_array($sql_result_omail);
$ordermail=$row_omail['content'];

Для просмотра ссылки Войди или Зарегистрируйся
mail($ordermail,$subject,$html_message,$header)
$ordermail - это кому, хранится в БД, в столбике `content` ($row_omail['content'])
 
Добрый вечер, уважаемые форумчане. В наследство достался сайт, интернет-магазин, самопис. Все вроде хорошо, но проблема в том, что при оформлении заказа покупателю не приходит письмо с информации о заказе, на емайл указанный в форме заказа.
Просты формы с отправкой в один конец делала, но давно. Искала информацию, насколько поняла, то за отправку копии получателю отвечате 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']==0 ? $price=round($price+$price_percenr_summ) : $price=round($price-$price_percenr_summ);
                $price_new['price_percent_sign']==0 ? $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']==0 ? $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']==0 ? $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");
}
?>
$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";
 
$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";

если я правильно поняла, то $header .= "Bcc: статический адрес почты, сюда отправляется копия на адрес который не меняется. А мне надо, чтоб адрес подставлялся из поля формы: E-mail:".$_POST['email']. так как здесь покупатель указаывает свой адрес и слать копию нужно ему.
 
$to = $_POST['email'] так верно будет?
 
$copyto= htmlspecialchars($_POST['email']);
...
$header = "From: ".SITE_TITLE."\nContent-Type: text/html; charset=windows-1251";
$header .= "Bcc: ".$copyto. "\r\n";
 
Спасибо, а в какую часть общего кода надо вставлять подскажите пожалуйста.
 
Назад
Сверху