powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Как отправить таблицу на почту
3 сообщений из 3, страница 1 из 1
[PHP] Как отправить таблицу на почту
    #37813408
Maxim_Vepr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброго времени суток. У меня проблема, есть интернет магазин в котором формируется простая корзина дописываются необходимые данные и весь заказ с данными должен отправиться администратору на почту. Однако происходит следующее при нажатие на кнопку оформить заказ отправляется столько писем сколько наименований товара, при этом количество товара, цена, наименование и общая сумма заказа правильно только в первом письме в остальных в наименование, цене за штуку подставляется товар который был выбран первым, общая сумма взята неизвестно откуда, соответствует только количество.
Вот код того что должно отправляться:
Код: php
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.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
<?php 

	if(isset($_POST['zak']))
	{
		foreach($_POST['quantity'] as $key => $val)
		{
			if($val==0)
			{
				unset($_SESSION['cart'][$key]);
			}
			else
			{
				$_SESSION['cart'][$key]['quantity']=$val;
			}
		}
	}

?>    
    
    <form method="post" action="os.php?art=mail_cart">
			<table  class="main_zak" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td class="main_cart_cont_naz"><strong>Ваши данные</strong></td>
    <td class="main_cart_cont_naz"><strong>Контакты</strong></td>
    
  </tr>
  <tr>
    <td class="main_cart_cont_text"><strong>Фамилия:</strong></td>
    <td class="main_cart_cont_text"><strong>Мобильный телефон:</strong></td>
   <tr>
    <td class="main_cart_cont_text"><input type="text" name="festname" size="50"/></td>
    <td class="main_cart_cont_text"><input type="text" name="tel" size="50"/></td>
  </tr>
  <tr>
    <td class="main_cart_cont_text"><strong>Имя:</strong></td>
    <td class="main_cart_cont_text"><strong>Е-mail (для уведомления):</strong></td>
   <tr>
    <td class="main_cart_cont_text"><input type="text" name="name" size="50"/></td>
    <td class="main_cart_cont_text"><input type="text" name="email" size="50"/></td>
  </tr>
  <tr>
    <td class="main_cart_cont_text"><strong>Отчество:</strong></td>
   <tr>
    <td class="main_cart_cont_text"><input type="text" name="oldname" size="50"/></td>
    <td align="center"><input type="submit" name="zak" value="Оформить заказ"/></td>
  
  </tr>
    
</table>
  <?php 
  	
	$sql = "SELECT * FROM os WHERE id_os IN(";
	foreach($_SESSION['cart'] as $id=>$value)
	{
		$sql.=$id.",";
	}
	$sql = substr($sql, 0 , -1).") ORDER BY id_os ASC";
	$query = mysql_query($sql);
	$totalprice = 0;
	while($myrow = mysql_fetch_array($query))
	{
		$subtotal = $_SESSION['cart'][$myrow['id_os']]['quantity']*$myrow['price'];
		$totalprice+=$subtotal;
	
	?>

	<input type="hidden" name="mess" value="<?= $id_os ?>">

	<table class="main_zak" border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td class="main_cart_cont_title" colspan="5">Просмотр вашего заказа</td>
  </tr>
  
   <tr>
    <th class="main_cart_cont_naz">Артикул</th>
  
    <th class="main_cart_cont_naz">Наименование товара</th>
  
    <th class="main_cart_cont_naz">Количество</th>
  
    <th class="main_cart_cont_naz">Цена за штуку
 (руб.)</th>
  
    <th class="main_cart_cont_naz">Общая цена
 (руб.)</th>
  </tr>
  <tr>
  <td colspan="5">&nbsp;</td>
  </tr>
  <?php 
  	
	$sql = "SELECT * FROM os WHERE id_os IN(";
	foreach($_SESSION['cart'] as $id=>$value)
	{
		$sql.=$id.",";
	}
	$sql = substr($sql, 0 , -1).") ORDER BY id_os ASC";
	$query = mysql_query($sql);
	$totalprice = 0;
	while($myrow = mysql_fetch_array($query))
	{
		$subtotal = $_SESSION['cart'][$myrow['id_os']]['quantity']*$myrow['price'];
		$totalprice+=$subtotal;
	
	?>
  
  <tr>
    <th class="main_cart_cont_text"><?php echo $myrow['art']?></th>
  
    <th class="main_cart_cont_text1"><?php echo $myrow['name']?></th>
  
    <th class="main_cart_cont_text"><?php echo $_SESSION['cart'][$myrow['id_os']]['quantity']?></th>
  
    <th class="main_cart_cont_text"><?php echo $myrow['price']?></th>
  
    <th class="main_cart_cont_text"><?php echo $_SESSION['cart'][$myrow['id_os']]['quantity']*$myrow['price']?>,00 </th>
  </tr>
  
  <?php 
  
  	}
  
  ?>
  <tr>
  <td colspan="5">&nbsp;</td>
  </tr>
  <tr>
    <th class="main_cart_cont_text2" colspan="5">Цена всего заказа: <?php echo $totalprice?>,00 руб.</th>    
  </tr>
  <tr>
  <td colspan="5">&nbsp;</td>
  </tr>
 
</table>


  <?php 
  
  	}
  
  ?>
  </input>
</form>



а это код обработчика:

Код: php
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.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
<?php 

	if(isset($_POST['submit'])) 
	{
		foreach($_POST['quantity'] as $key => $val)
		{
			if($val==0)
			{
				unset($_SESSION['cart'][$key]);
			}
			else
			{
				$_SESSION['cart'][$key]['quantity']=$val;
			}
		}
	}
?>

<?php 
  	
	$sql = "SELECT * FROM os WHERE id_os IN(";
	foreach($_SESSION['cart'] as $id=>$value)
	{
		$sql.=$id.",";
	}
	$sql = substr($sql, 0 , -1).") ORDER BY id_os ASC";
	$query = mysql_query($sql);
	$totalprice = 0;
	$kol = 0;
	while($myrow = mysql_fetch_array($query))
	{
		$subtotal = $_SESSION['cart'][$myrow['id_os']]['quantity']*$myrow['price'];
		$totalprice+=$subtotal;
		$kol = $_SESSION['cart'][$myrow['id_os']]['quantity'];
		$sum = $kol*$myrow['price'];
		
	

  	
?>	
<table class="main_cart" border="0" cellspacing="0" cellpadding="0">
	<tr>
  
		<td>
<?php 
	if (isset($_POST['festname'])) {$festname = $_POST['festname'];}
	if (isset($_POST['name'])) {$name = $_POST['name'];}
	if (isset($_POST['oldname'])) {$oldname = $_POST['oldname'];}
	if (isset($_POST['tel'])) {$tel = $_POST['tel'];}
	if (isset($_POST['email'])) {$email = $_POST['email'];}
	
	
	$result = mysql_query("SELECT art,price,name FROM os");      
    $row = mysql_fetch_array($result);
	
	
	
	if (empty($festname))
		{
			echo "<b class='main_cart_cont_title'>Не указано Фамилию!<p>";
			echo "<a href='os.php?art=cart'><p>Вернуться к заполнению формы</p></a>";
			exit;
		}
	else            
	if (empty($name))
		{
			echo "<b class='main_cart_cont_title'>Не указано Имя!<p>";
			echo "<a href='os.php?art=cart'><p>Вернуться к заполнению формы</p></a>";
			exit;
		}
	else
	if (empty($oldname))
		{
			echo "<b class='main_cart_cont_title'>Не указан Отчество!<p>";
			echo "<a href='os.php?art=cart'><p>Вернуться к заполнению формы</p></a>";
			exit;
		}
	else
	if (empty($tel))
		{
			echo "<b class='main_cart_cont_title'>Не указан мобильный телефон!<p>";
			echo "<a href='os.php?art=cart'><p>Вернуться к заполнению формы</p></a>";
			exit;
		}
	else
	if (empty($email))
		{
			echo "<b class='main_cart_cont_title'>Не указан E-mail!<p>";
			echo "<a href='os.php?art=cart'><p>Вернуться к заполнению формы</p></a>";
			exit;
		}
	else
		$to = "vepr_maxim@mail.ru"; /*УКАЗАТЬ СВОЙ АДРЕС! */
		$header = "MIME-Version 1.0\r\n";
		$header = "Content-type: text\html; charset = utf-8\r\n";
		$header = "From: Amway <natali_gpa@yandex.ru>;";
		$subject = "Заказ товара Amway";
		$message = "ФИО пославшего: $festname $name $oldname \n\n Мобильный телефон: $tel \n\n Электронный адрес: $email \n\n Артикул товара: $row[art]\n\n Наименования товара: $row[name]\n\nКоличество товара: $kol\n\n Цена за наименование товара: $row[price] руб.\n\n Общая сумма: $sum,00 руб.\n";
		$send = mail ($to, $subject, $message, $header);
	if ($send == 'true')
		{
			echo "<b class='main_cart_cont_title'>Спасибо за заказ, в ближайшее время мы с вами свяжимся!<p>";
			echo "<a href='index.php'>Нажмите,</a> чтобы вернуться на главную страницу";
		}
	else
		{
			echo "<p><b>Ошибка. Сообщение не отправлено!";
		}
?> 


отсюда вопрос как сделать так чтобы при отправки письма
1. оно было одно?
2. данные таблицы можно было подставить в $message вместо того что там есть?

Модератор: Километр кода упрятал под спойлер
...
Рейтинг: 0 / 0
[PHP] Как отправить таблицу на почту
    #37813416
Maxim_Vepr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
В общем всё что находиться после слов "Анкета на оформление заказа" должно отправляться на электронку
...
Рейтинг: 0 / 0
[PHP] Как отправить таблицу на почту
    #37815976
Програмёр
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не могу разобраться как минимум потому, что не указаны имена файлов, а код выглядет как-то путано... так что укажи какой код в каком файле лежит...
ещё... в пхп есть конструкция (if ... elseif ... else ...)
"elseif(условие)" разделять не надо... читать не удобно :)
Внеси поправки, тогда постараемся помочь ;)
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Как отправить таблицу на почту
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]