Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 05.11.2017
Сообщений: 55

Передача формы заказа сформированной в таблице через $ post на почтовый ящик

12.10.2018, 18:36. Показов 832. Ответов 5

Студворк — интернет-сервис помощи студентам
Добры день
На сайте с K2store есть форма заказа в один клик
Помогите решить задачу по передать данных о заказанном товаре(услуге) в корзине по всем имеющимся позициям
Есть вот така форма
PHP/HTML
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
<tbody>
<?php $i=0; $k=0; $subtotal = 0;?>
<?php foreach ($items as $item) : ?>
 
<?php
$image_path = K2StoreItem::getK2Image($item->product_id, $this->params);
 
?>
 
<tr class="row<?php echo $k; ?>">
<?php if($this->params->get('show_thumb_cart')) : ?>
<td style="text-align: center;">
<?php if(!empty($image_path)) : ?>
<img src="<?php echo $image_path; ?>" class="itemImg<?php echo $this->params->get('cartimage_size','small') ?>" />
<?php endif;?>
</td>
<?php endif; ?>
<td style="width: 50px; text-align: center;">
<strong><?php echo $item->product_name; ?></strong>
<br/>
<?php if (!empty($item->attributes_names)) : ?>
<?php echo $item->attributes_names; ?>
<br/>
<?php endif; ?>
<?php if (!empty($item->product_sku)) : ?>
<b><?php echo JText::_( "K2STORE_SKU" ); ?>:</b>
<?php echo $item->product_sku; ?>
<br/>
<?php endif; ?>
 
<?php echo JText::_( "K2STORE_ITEM_PRICE" ); ?>: <?php echo K2StorePrices::number($item->product_price); ?>
 
</td>
<td style="width: 50px; text-align: center;">
<?php echo $item->product_qty; ?>
</td>
<td style="text-align: right;">
<?php $subtotal = $subtotal + $item->subtotal; ?>
<?php echo K2StorePrices::number($item->subtotal); ?>
</td>
<td><a title="<?php echo JText::_( 'K2STORE_CART_REMOVE_ITEM' ); ?>" onclick="k2storeCartRemove(this, <?php echo $item->cart_id; ?>, <?php echo $item->product_id; ?>, 1)"> <div class="k2storeCartRemove"> </div> </a> </td>
</tr>
<?php ++$i; $k = (1 - $k); ?>
<?php endforeach; ?>
</tbody>
Она выводит значение всех товаров с наименованием, количеством и суммой в таблицу
Можно как то передать эти значения через
PHP
1
$_POST
В файле обработчике писем есть форма используемая по умолчанию
PHP
1
2
break;
default:
PHP
1
2
3
4
5
6
sendmail("Заказ с сайта", render(
'<div><b>Имя:</b> '.stripinput($_POST['name']).'</div>'.
'<div><b>Телефон:</b> '.stripinput($_POST['tel']).'</div>'.
'<div><b>Сумма заказа:</b> '.stripinput($_POST['product']).'</div>'
 
),$EMAIL,$FROM,$REPLY);
Вызов функции заказа в один клил выглядит так
PHP/HTML
1
2
3
4
5
6
7
8
<a class="callme_order_btn" data-product="<?php echo $item->product_name; ?>
<?php echo $item->product_sku; ?> <?php echo K2StorePrices::number($subtotal) .'Заказ через предварительную сумму оплаты услуг '. '
URL: '.JURI::base().$item->alias; ?>" 
<a href="/home/stati/46-bibendum-wisi-neque-erat-gravida-massa"title="Заказ в 1 клик"alt="Заказ в 1 клик">
<img src="https://www.cyberforum.ru/images/zakaz.png" onmouseover="this.src='images/zakaz2.png';" onmouseout="this.src='images/zakaz.png';" />
<a href="#" title="Удалить элемент" onclick="k2storeCartRemove(this, 1089, 381, 2)"><div class="k2storeCartRemove"></div>
</a></p><script type="text/javascript"> jQuery(document).ready(function($){ jQuery_2_1_1('.callme_order_btn').jbOneClick(); });
</script>
И есть еще форма отправки письма о заказе в самом шаблоне
PHP/HTML
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
<tbody>
<?php $i=0; $k=0; ?>
<?php foreach (@$items as $item) : ?>
 
<tr class='row<?php echo $k; ?>'>
<td> <?php echo JText::_( $item->orderitem_name ); ?> <br /> <?php if (!empty($item->orderitem_attribute_names)) : ?>
<?php echo $item->orderitem_attribute_names; ?> <br /> <?php endif; ?>
 
<?php if (!empty($item->orderitem_sku)) : ?> <b><?php echo JText::_( "K2STORE_SKU" ); ?>:</b>
<?php echo $item->orderitem_sku; ?> <br /> <?php endif; ?> <b><?php echo JText::_( "K2STORE_CART_ITEM_UNIT_PRICE" ); ?>:</b>
<?php echo K2StorePrices::number( $item->orderitem_price); ?>
</td>
<td style="text-align: center;"><?php echo $item->orderitem_quantity; ?>
</td>
<td style="text-align: right;"><?php echo K2StorePrices::number( $item->orderitem_final_price ); ?>
</td>
</tr>
<?php $i=$i+1; $k = (1 - $k); ?>
<?php endforeach; ?>
 
<?php if (empty($items)) : ?>
<tr>
<td colspan="10" align="center"><?php echo JText::_('K2STORE_NO_ITEMS'); ?>
</td>
</tr>
<?php endif; ?>
</tbody>
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.10.2018, 18:36
Ответы с готовыми решениями:

Передача матрицы через почтовый ящик
Добрый день всем участникам форума. Идея моя такова. Клиент: Генерируется прямоугольная матрица с введенным пользователем числом...

Отправка формы заказа с сайта на почт.ящик mail.ru
Доброго времени суток! На сайте есть пункт &quot;Сделать заказ&quot; (доставка роллов, пиццы и т.п.). Выбрав определенное кол-во продуктов и нажав...

Требуется взломать почтовый почтовый ящик
Здравствуйте! требуется взломать почтовый ящик. Пишите в личку.

5
ytf
276 / 259 / 185
Регистрация: 15.08.2017
Сообщений: 1,483
13.10.2018, 11:13
а что за магазин? можно ссылку?
0
0 / 0 / 0
Регистрация: 05.11.2017
Сообщений: 55
13.10.2018, 17:27  [ТС]
http://profstroy36.ru заказ можно сделать на главной странице перейдя через перечень услуг и открыть электромонтажные работы далее также на главной странице вверху есть кнопка заказа в 1 клик
0
ytf
276 / 259 / 185
Регистрация: 15.08.2017
Сообщений: 1,483
14.10.2018, 21:55
по идее не понятно, зачем тебе джумла и к2сторе для сайта-визитки, можно было бы "с нуля" сделать,

передать значения можно 2 путями:
1. при выводе таблицы, продублировать значения и запихнуть их в
Code
1
<input type="hidden" name="a[]" value="">
либо в textarea, а textarea спрятать с помощью свойства css display:none
далее если таблица внутри отправляемой формы, то все значения отправятся, а если нет - нужно хитрить, обрабатывать событие onclick по кнопку отправке данных и перед отправкой добавлять данные
либо опять же менять дизайн с целью переноса таблицы внутрь формы
2. значения скорее всего хранятся в сессии пользователя, либо кукисах, а название товаров скорее всего хранятся в бд, но перед отправкой письма все необходимые данные можно получить точно по той же схеме, как это сделано на странице вывода таблицы, этим и можно воспользоваться, плюс этого метода - не нужно досконально проверять полученные браузером данные, ведь в первом случае данные может подменить хакер, встроить в них скрипты, и всё нужно будет проверять или вычищать
0
0 / 0 / 0
Регистрация: 05.11.2017
Сообщений: 55
15.10.2018, 09:38  [ТС]
Я на k2store сделал, что бы пользователь видел приблизительную сумму заказа .По моему удобно когда знаешь приблизительную сумму заказа .А то в основном люди звонят узнать что сколько стоит,а таким образом будут отсеяны холодные звонки
Можешь дать личку А то боюсь не осилю сам ?
Как я понимаю ключевой в формировании таблицы является эта строчка
<?php $i=0; $k=0; ?> Она формирует количество позиций в таблице Но как это все собрать воедино и отправить по почте через форму заказа в один клик мне не непонятно
0
ytf
276 / 259 / 185
Регистрация: 15.08.2017
Сообщений: 1,483
16.10.2018, 23:03
вряд ли по интернет магазину будут заказывать электромонтажные работы, банально вырубило выключатель, свет погас, у клиента не работает интернет, он может только позвонить в жэу, либо посмотреть телефон электрика в еженедельной рекламной газете

даже если предположить, что заказы будут, это скорее заказ через андроид-смартфон со слабеньким 3ж интернетом, то есть в первую очередь нужно делать сайт под смартфоны

смотреть цены и пользоваться калькулятором будут единицы, большинство просто позвонит, если звонят конкуренты, чтобы узнать цену - им проще посмотреть прайс-лист на одной странице, если человек бедный и боится спросить, сколько стоит работа, он будет тыкаться в калькуляторе, но калькулятор должен быть человекопонятным, то есть выбрать "поставить розетку" - робот спрашивает, а провод надо покупать? а подрозетник? а розетку? или клиент сам купит? дальше спрашивает, а штробить придётся? если да, то сколько метров?

Добавлено через 10 минут
я предложил брать данные из сессии как наиболее безопасный вариант, формировать таблицу заказа и прилагать её к письму,
чтобы найти нужное место в коде для внесения изменений проще всего сделать бэкап файлов в админке хостинга и дальше перебирать
возможные варианты - внес изменения в тот или иной файл, проверил, посмотрел что получилось, и так далее
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.10.2018, 23:03
Помогаю со студенческими работами здесь

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

Почтовый ящик
Как вытащить почтовый ящик пользователя на рабочий стол?

Почтовый ящик
В почтовом ящике лежат письма, каким то образом можно понять входящие письмо или нет (кроме визуального)?? Допустим открывая письмо из...

Почтовый ящик
Добрый день! вопросец: пользователе сделал архивирование почты в ней в папке &quot;входящие&quot; письма не видны, видны в других...

Почтовый ящик
Добрий день товарищи!!! Помогите написать задачу.. Написать программу для сортировки почты, которая позволяет ввести с клавиатуры...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru