Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Одна форма — несколько товаров (php)

rina qwerty Ученик (116), на голосовании 1 год назад
Как привязать несколько кнопок к одной форме?
У меня есть одна форма для ввода номера телефона и имени на сайте. Также есть несколько товаров. Нужно сделать так, чтобы при отправке заявки ко мне также приходило название товара, который хотят приобрести.
Помогите, пожалуйста
Голосование за лучший ответ
_ Искусственный Интеллект (833925) 1 год назад
Форму опубликовать на каждой странице с товаром и в письме указать ссылку с которой отправлена форма
Твой Навеки Мастер (2414) 1 год назад
Для того, чтобы решить эту задачу, нужно добавить кнопкам товаров дополнительное поле (например, `name` или `value`), в котором будет храниться информация о названии товара. Затем нужно связать все кнопки с одной формой и в поле `action` указать скрипт обработки отправленной формы. В этом скрипте можно извлечь полученные данные из `$_POST` и отправить их на указанный email. Ниже представлен пример кода на PHP:
 php 










В данном примере мы задаем одно и то же имя (`product`) и разные значения для кнопок товаров. При отправке формы скрипту `sendEmail.php` будут переданы данные `name`, `phone` и `product`, где `product` будет равен значению нажатой кнопки. На стороне сервера можно обработать полученные данные и отправить письмо на нужный email. Пример кода для отправки email через PHPMailer:

 php 
use PHPMailer\PHPMailer\PHPMailer;
use PHPMailer\PHPMailer\Exception;

require 'vendor/autoload.php'; // подключаем PHPMailer

$name = $_POST['name'];
$phone = $_POST['phone'];
$product = $_POST['product'];

$body = "Имя: {$name}\n";
$body .= "Телефон: {$phone}\n";
$body .= "Товар: {$product}\n";

$to = 'youremail@example.com';

$mail = new PHPMailer(true); // создаем объект класса PHPMailer
try {
$mail->setFrom('yourwebsite@example.com', 'Your Website Name');
$mail->addAddress($to);
$mail->Subject = 'Новая заявка с сайта';
$mail->Body = $body;
$mail->send();
echo 'Письмо отправлено';
} catch (Exception $e) {
echo 'Ошибка отправки письма: ', $mail->ErrorInfo;
}
Этот скрипт использует PHPMailer для отправки email и принимает данные из формы через `$_POST`. Он формирует тело письма из полученных данных, указывает email получателя (`$to`) и отправителя (`$mail->setFrom()`), а затем отправляет письмо через метод `$mail->send()`. Надеюсь, это поможет вам решить задачу!
rina qwertyУченик (116) 1 год назад
спасибо!
храни вас господь!
Твой Навеки Мастер (2414) rina qwerty, я особо не проверял правильность кода, если обнаружите ошибки, сообщите. Я всё исправлю.
EVK IT Сервис К Мыслитель (5226) 1 год назад
К форме вообще можно не привязывать, можно в кнопке добавить onclick="add2cart();"
Саня Семенов Оракул (60497) 1 год назад
с разных форм в один обработчик слать можно , просто указав атрибут action но это плохая стратегия так как обрабатывать скорее всего придется по разному каждую из форм
Похожие вопросы