【问题标题】:Simple form php with checkbox带有复选框的简单表单 php
【发布时间】:2014-10-29 19:37:14
【问题描述】:

带有复选框时事通讯的简单邮件 - 我做错了什么? 一切正常 - 发送信息 exept 复选框 请帮忙

<?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>

【问题讨论】:

  • 它的目的是什么,它目前在做什么?似乎应该将时事通讯值添加到 $message
  • 它发送带有客户名称和电子邮件的电子邮件,我需要有关复选框状态的信息

标签: php forms contact


【解决方案1】:

$_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) 来调试你发布的数据

【讨论】:

  • 你能发布 var_dump($_POST) 的结果吗? ?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多