Intereting Posts
как я раунд в php с сохранением двух нулей PhP Mysql как правильно использовать, избегайте ошибок заголовков Работа со специальными символами в именах объектов PHP – Строгие стандарты: только переменные должны передаваться по ссылке Как получить все значения текстовых узлов между узлами диапазона Как предотвратить множественную отправку форм при нескольких кликах в PHP Использование Laravel 5.4 толкателя Проверьте, существует ли var перед отключением в PHP? Как связать имена пользователей Twitter с помощью PHP preg_replace? Невозможно вставить в базу данных MySQL с помощью PDO … Нет ошибок Laravel 5 на общем хостинге – неправильный public_path () Как получить текущее название маршрута в laravel 5? PHP: вызов метода экземпляра через синтаксис ClassName :: method приводит к статическому вызову? Php Расшифровать строку из C # .NET RIJNDAEL 256 Вкладки Jquery содержат открытые вкладки, которые являются субадиями в URL-адресе

Добавление флажков в форму электронной почты PHP POST

Я пытаюсь создать форму для wordpress. Я использовал плагины в прошлом, но мне нужен максимальный контроль для определенного стиля. Я еще не очень хорошо разбираюсь в PHP, поэтому я пытаюсь добавить флажки в скрипт. Я удалил свои попытки и оставил флажки в html, но не на PHP. Может кто-нибудь посоветует мне лучший способ сделать все выбранные флажки видимыми в отправляемом электронном письме? Все остальное работает на данный момент.

html:

<form method="post" action="<?php bloginfo('template_directory'); ?>/contact.php"> <h3>Your Details</h3> <div class="formrow"> <input type="text" name="Name" maxlength="99" id="fullname" placeholder="Name" /> <input type="email" name="Email" maxlength="99"placeholder="Email Address" /> <input type="tel" name="Phone" maxlength="25" placeholder="Phone Number" /> </div> <h3>Project Type</h3> <div class="formrow"> <fieldset> <input type="checkbox" name="project1" value="Web"> <label for="type1">Web</label> <input type="checkbox" name="project2" value="Digital"> <label for="type2">Digital</label> <input type="checkbox" name="project3" value="Consultancy"> <label for="type3">Consultancy</label> </fieldset> </div> <table align=center> <tr><td colspan=2><strong>Contact us using this form:</strong></td></tr> <tr><td>Department:</td><td><select name="sendto"> <option value="general@mycompany.com">General</option> <option value="support@mycompany.com">Support</option> <option value="sales@mycompany.com">Sales</option> </select></td></tr> <tr><td>Company:</td><td><input size=25 name="Company"></td></tr> <tr><td>Subscribe to<br> mailing list:</td><td><input type="radio" name="list" value="No"> No Thanks<br> <input type="radio" name="list" value="Yes" checked> Yes, keep me informed<br></td></tr> <tr><td colspan=2>Message:</td></tr> <tr><td colspan=2 align=center><textarea name="Message" rows=5 cols=35></textarea></td></tr> <tr><td colspan=2 align=center><input type=submit name="send" value="Submit"></td></tr> <tr><td colspan=2 align=center><small>A <font color=red>*</font> indicates a field is required</small></td></tr> </table> </form> 

PHP:

 <?php $to = $_REQUEST['sendto'] ; $from = $_REQUEST['Email'] ; $name = $_REQUEST['Name'] ; $headers = "From: $from"; $subject = "Web Contact Data"; $fields = array(); $fields{"Name"} = "Name"; $fields{"Company"} = "Company"; $fields{"Email"} = "Email"; $fields{"Phone"} = "Phone"; $fields{"list"} = "Mailing List"; $fields{"Message"} = "Message"; $body = "We have received the following information:\n\n"; foreach($fields as $a => $b){ $body .= sprintf("%20s: %s\n",$b,$_REQUEST[$a]); } $headers2 = "From: noreply@YourCompany.com"; $subject2 = "Thank you for contacting us"; $autoreply = "Thank you for contacting us. Somebody will get back to you as soon as possible, usualy within 48 hours. If you have any more questions, please consult our website at www.oursite.com"; if($from == '') {print "You have not entered an email, please go back and try again";} else { if($name == '') {print "You have not entered a name, please go back and try again";} else { $send = mail($to, $subject, $body, $headers); $send2 = mail($from, $subject2, $autoreply, $headers2); if($send) {print "Success";} else {print "We encountered an error sending your mail, please notify webmaster@YourCompany.com"; } } } ?> 

Благодаря! MC

Solutions Collecting From Web of "Добавление флажков в форму электронной почты PHP POST"

Множество флажков было бы наиболее подходящим. Используя [] в именах флажков, PHP автоматически проанализирует их в собственный массив.

  <input type="checkbox" name="projects[]" value="Web"> <label for="type1">Web</label> <input type="checkbox" name="projects[]" value="Digital"> <label for="type2">Digital</label> <input type="checkbox" name="projects[]" value="Consultancy"> <label for="type3">Consultancy</label> 

На стороне PHP:

 $selectedProjects = 'None'; if(isset($_POST['projects']) && is_array($_POST['projects']) && count($_POST['projects']) > 0){ $selectedProjects = implode(', ', $_POST['projects']); } $body .= 'Selected Projects: ' . $selectedProjects; 

Выходы (если все отмечены)

Избранные проекты: веб, цифровая, консалтинговая