变量中有多个$ _POST变量

时间:2012-03-12 22:24:47

标签: php forms post

嘿,我有这个代码发送一封电子邮件,其中包含一些表格发送的数据:

<?php

  if (isset($_POST['submit'])) {

    error_reporting(E_NOTICE);

    function valid_email ($str) {
      return ( ! preg_match("/^([a-z0-9\+_\-]+)(\.[a-z0-9\+_\-]+)*@([a-z0-9\-]+\.)+[a-z]{2,6}$/ix", $str)) ? FALSE : TRUE;
    }

    if ($_POST['name'] != '' &&  $_POST['email'] != '' && $_POST['tel'] != '' && valid_email($_POST['email']) == TRUE && strlen($_POST['comment']) > 1) {

      $to = preg_replace("([\r\n])", "", $_POST['receiver']);
      $from = preg_replace("([\r\n])", "", $_POST['name']);
      $subject = 'Online Message';
      $message = $_POST['comment'];
      $match = "/(bcc:|cc:|content\-type:)/i";
      if (preg_match($match, $to) || preg_match($match, $from) || preg_match($match, $message) || preg_match($match, $subject)) {
        die("Header injection detected.");
      }

      $headers = "From: \"".$_POST['name']."\" <".$_POST['email'].">\n";
      $headers .= "Reply-to: ".$_POST['email']."\r\n";

      if (mail($to, $subject, $message, $headers)) {
        echo 1; //SUCCESS
      } else {
        echo 2; //FAILURE - server failure
      }

    } else {
      echo 3; //FAILURE - not valid email
    }

  } else {
    die("Direct access not allowed!");
  }

我想将$_POST['tel']添加到$message变量中,因此在电子邮件正文中我可以收到消息以及人们在表单中输入的电话。在代码的第一部分,我认为我必须使用电话输入。

我尝试过做$message = $_POST['comment'] && $_POST['tel'];,但我收到的唯一信息就是邮件正文中的1,这是第一个输入的电话号码。

2 个答案:

答案 0 :(得分:2)

&安培;&安培;意味着AND(逻辑版本)所以你实际上得到了“真实”。

使用句点,。来汇总字符串。

$str = 'Hello'.' world'; print $str;

输出Hello world

答案 1 :(得分:2)

$message = 'Comment: ' . $_POST['comment'] . ' Tel: ' . $_POST['tel'];