我正在使用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');
}
?>