我是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-widgets
。
以下是问题:不是两次列出“10-widgets”(如上面的代码所示),如何在第一个<p>
中列出第一部分(因此它将是“10”)并且第二部分<p>
(所以它将是“小部件”)?
以下似乎很有希望:
$wholeVal = $_POST('some-name');
$partVal = explode("-",$wholeVal);
然后,某处,$_POST($partVal[0]);
和$_POST($partVal[1]);
但我不知道这应该发生在哪里,而且我把它放在任何地方似乎都会让整个事情破裂。
感谢您的帮助。
答案 0 :(得分:3)
首先,您应该使用括号访问$ _POST,例如$_POST['some-name']
。 explode
返回一个数组。因此,在您的示例中,explode('-', '10-widgets')[0]
将返回'10'
,explode('-', '10-widgets')[1]
将返回'widgets'
所以你的代码将是这样的:
<?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');
}
?>
答案 1 :(得分:2)
我知道你现在正在寻找功能,但请记住,如果你用“ - ”分割字符串,对于一个脚本小子(或者甚至是一个善意的人)来说它真的很容易问题)使用带连字符的单词,你的脚本就会中断。
只是抬头:D
答案 2 :(得分:1)
试试
$wholeVal = $_POST('some-name');
$list($ammount, $type) = explode("-",$wholeVal);
然后进入您的电子邮箱:
$message = "<p>" . $ammount . "</p><p>" . $type . "</p>" ;
答案 3 :(得分:0)
<?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 =
$wholeVal = $_POST('some-name');
$partVal = explode("-",$wholeVal);
//here are the values that the email will send me
"<p>".$partVal[0]."</p>
<p>".$partVal[1]."</p>" ;
mail($to, $subject, $message, $headers);
header('Location: ../estimate.html');
} ?>