Простая форма PHP с флажком

Простая почта с чекбоксом — что я делаю не так?
Все в порядке — отправьте информацию, кроме флажка
Пожалуйста помоги

<?php
if ( isset($_POST['email']) && isset($_POST['name']) && isset($_POST['subject']) && isset($_POST['text']) && filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) ) {$test = "/(content-type|bcc:|cc:|to:)/i";
foreach ( $_POST as $key => $val ) {
if ( preg_match( $test, $val ) ) {
exit;
}
}
$message .= "<strong>Client:</strong>" . strip_tags($_POST['name']) . ;
$message .= "<strong>E-mail:</strong>" . strip_tags($_POST['email']) . ;
$message .= "Newsletter" . strip_tags($_POST['newsletter']) ;

$to = 'aaa@gmailcom';
$subject = $_POST['subject'];
$headers = "From: " . $_POST['email'] . "\r\n";
$headers .= "Reply-To: ". strip_tags($_POST['req-email']) . "\r\n";
$headers .= "MIME-Version: 1.0\r\n";
$headers .= "Content-Type: text/html; charset=utf-8\r\n";

mail($to, $subject, $message, $headers);
}
?>

И HTML

 <label for="newsletter">
<input type="checkbox"  id="newsletter" name="newsletter" value="Yes" checked> Subscribe
</label>

0

Решение

$ _POST [‘newsletter’] будет существовать, только если установлен флажок.

Вы можете попробовать что-то вроде этого

<?php
$info = "";
if(isset($_POST['newsletter'])){
$info = "You want to receive the newsletter";
}
else{ $info = "You dont want the newsletter"; }

$message .= "Newsletter :" . $info ;
?>

Надеюсь это поможет
PS: используйте var_dump ($ _ POST) для отладки ваших опубликованных данных

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]