Помочь флажки формы php (снова) - PullRequest
0 голосов
/ 24 ноября 2010

извините, у меня сейчас другая проблема. Я использую новый метод php, чем раньше.

У меня есть что-то вроде этого:

<?php 
$ToEmail = 'bryan@email.com'; 
$subject = 'Contact Form'; 
$mailheader = "From: ".$_POST["email"]."\r\n"; 
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; 
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
$message = "Name: ".$_POST["name"]."<br>"; 
$message .= "Subject: ".$_POST["subject"]."<br>"; 
$message .= "Email: ".$_POST["email"]."<br>"; 
$message .= "Message: ".nl2br($_POST["message"])."<br>"; 
mail($ToEmail, $subject, $message, $mailheader) or die ("Failure"); 

но мне нужно включить флажки. У меня изначально было: $ check. = implode (',', $ _POST ['check']); от кого-то еще здесь, но это не работает сейчас и не уверен, что еще сделать для этого. Любая помощь будет оценена!

страница находится здесь: http://makeupbysherry.com/contact.php

Ответы [ 2 ]

1 голос
/ 24 ноября 2010

Флажки отправляют только истинное или ложное значение, если они отмечены или нет.Я бы предложил разбить каждый из ваших флажков с уникальными именами, а затем проверить их значения.

input name="chk-makeover" value="Makeover" type="checkbox" class="contact_checkbox"

Чтобы включить приведенный выше пример флажка в ваше сообщение, вы можете попробовать следующее:

$message .= "Services: "; <br /> if (isset($_POST['chk-makeover'])) $message .= "Makeover";

0 голосов
/ 24 ноября 2010

Вы хотите добавить выбранные поля в ваше сообщение?

Ваш $check .= implode(', ', $_POST['check']) должен работать, все, что вам нужно сделать, это добавить его к сообщению впоследствии.

Итак:

<?php 
$ToEmail = 'bryan@email.com'; 
$subject = 'Contact Form'; 
$mailheader = "From: ".$_POST["email"]."\r\n"; 
$mailheader .= "Reply-To: ".$_POST["email"]."\r\n"; 
$mailheader .= "Content-type: text/html; charset=iso-8859-1\r\n"; 
$message = "Name: ".$_POST["name"]."<br>"; 
$message .= "Subject: ".$_POST["subject"]."<br>"; 
$message .= "Email: ".$_POST["email"]."<br>"; 
$message .= "Message: ".nl2br($_POST["message"])."<br>";

if(isset($_POST['check'])){
    $message .= implode(', ', $_POST['check']);
}

mail($ToEmail, $subject, $message, $mailheader) or die ("Failure"); 

Редактировать: Забыл чек, чтобы увидеть, установлен ли проверочный массив, отправленный через POST, или нет.См. Исправленный ^^

Edit2: На самом деле, будет проблема, если $ _POST ['check'] не существует, поскольку мы все еще добавляем из $ check, у которого ничего нет на следующемстрока так, так что лучше добавить его к $ message с самого начала.Последняя ревизия лол.Удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...