微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – $_POST两个部分的输入值(爆炸?)

我是PHP的新手,所以这可能是一个非常愚蠢的问题.

我正在使用PHP提交电子邮件表单,并希望该电子邮件包含某些表单输入的值.这是一个精简版:

<?PHP
if(isset($_POST['submit'])) {
  $to = 'address@gmail.com' ;
  $subject = 'Subject';
  $headers  = 'MIME-Version: 1.0' . "\r\n";
  $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";
  $message =

  //here are the values that the email will send me 
  "<p>".$_POST('some-name')."</p>
   <p>".$_POST('some-name')."</p>" ;

  mail($to, $subject, $message, $headers);
  header('Location: ../estimate.html');
} ?>

输入some-name的值是,例如,从表单发布的10个小部件.

这是一个问题:不是两次列出“10-widgets”(如上面的代码所示),我如何列出第一个< p>中的第一部分. (因此它将是“10”)并且第二部分在第二个< p>中. (所以它会是“小部件”)?

像下面这样的东西看起来很有希望:

$wholeVal = $_POST('some-name');
$partVal = explode("-",$wholeVal);

然后,某处,$_POST($partVal [0]);和$_POST($partVal [1]);

但是我不知道这应该发生在哪里,而且我把它放在任何地方似乎都会让整个事情破裂.

谢谢你的帮助.

解决方法:

首先,您应该使用括号访问$_POST,例如$_POST [‘some-name’]. explode返回一个数组.所以在你的例子中,爆炸(‘ – ‘,’10 -widgets’)[0]将返回’10’并爆炸(‘ – ‘,’10 -widgets’)[1]将返回’小部件’

所以你的代码将是这样的:

<?PHP
  if(isset($_POST['submit'])) {
    $to = 'address@gmail.com' ;
    $subject = 'Subject';
    $headers  = 'MIME-Version: 1.0' . "\r\n";
    $headers .= 'Content-type: text/html; charset=iso-8859-1' . "\r\n";

    $parts = explode('-', $_POST['some-name']);

    //here are the values that the email will send me 
    $message = 
      "<p>".$parts[0]."</p>
      <p>".$parts[1]."</p>";

    mail($to, $subject, $message, $headers);
    header('Location: ../estimate.html');
  } 
?>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐