php 表单邮件功能
php form mail function
我正在使用邮件功能将其邮寄到我的电子邮件地址,但我希望它向我发送一条包含变量的消息。
(我试过用concatenation point来拼接,但是好像不行,或者我没用对)
代码:
<?php
$myEmail = "lol@lol.com";
$emailOnderwerp = "Contact form";
$naam = $_POST['naam'];
$email = $_POST['email'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];
$mail1 = "<h1>";
$mail2 = "</h1><h2>Afzender:</h2><p>";
$mail3 = " (";
$mail4 = ")</p><h2>Bericht:</h2><p>";
$mail5 = "</p>";
mail("$myEmail","$emailOnderwerp",MESSAGE,"Content-type:text/html; charset=iso-8859-1"."\r\n"."From:info@aikodedoncker.donboscohalle.net");
?>
我知道 MESSAGE 不应该放在那里,它只是为了方便看到消息需要放在那里。
所以我希望邮件是 $mail1 + $onderwerp + $mail2 + $naam + $mail3 + ...
我怎样才能做到这一点?
当您使用双引号时,您可以将变量直接添加到您的消息字符串中(尽管它读起来不太好)
<?php
$myEmail = "lol@lol.com";
$emailOnderwerp = "Contact form";
$naam = $_POST['naam'];
$email = $_POST['email'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];
$message = "<h1>$onderwerp</h1><h2>Afzender:</h2><p>($naam)</p><h2>Bericht</h2><p>$bericht</p>";
mail($myEmail,"$emailOnderwerp",$message,"Content-type:text/html; charset=iso-8859-1"."\r\n"."From:info@aikodedoncker.donboscohalle.net")
?>
(虽然你可能想检查主题......但从技术上讲它应该有效)
另一种选择类似于
$message.= "text and tags";
$message.= $variable
或者您可以使用 HEREDOC 语法
$message=<<<ENDOFMESSAGE
<tags> and $variables
...
ENDOFMESSAGE;
还需要在"Content-type"前加上双引号...
希望对您有所帮助。
正如我在评论中提到的,你想多了,有一些更简单的方法可以解决这个问题。
要么将整个块更改为:(不需要所有这些变量)
$mail = "
<h1>
</h1><h2>Afzender:</h2><p>
(
)</p><h2>Bericht:</h2><p>
</p>
";
然后
mail("$myEmail","$emailOnderwerp",$mail,...
但是,如果您希望继续使用现有的:
您可以通过几种方式连接,例如:
$mail = $mail1 . "" . $mail2 . "" . $mail3 . "" . $mail4 . "" . $mail5;
或
$mail = "$mail1 $mail2 $mail3 $mail4 $mail5";
旁注:
您缺少结束分号:
mail($myEmail,"$emailOnderwerp",$message,...")
如果那是您的实际代码,这会引发解析错误。
我正在使用邮件功能将其邮寄到我的电子邮件地址,但我希望它向我发送一条包含变量的消息。 (我试过用concatenation point来拼接,但是好像不行,或者我没用对)
代码:
<?php
$myEmail = "lol@lol.com";
$emailOnderwerp = "Contact form";
$naam = $_POST['naam'];
$email = $_POST['email'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];
$mail1 = "<h1>";
$mail2 = "</h1><h2>Afzender:</h2><p>";
$mail3 = " (";
$mail4 = ")</p><h2>Bericht:</h2><p>";
$mail5 = "</p>";
mail("$myEmail","$emailOnderwerp",MESSAGE,"Content-type:text/html; charset=iso-8859-1"."\r\n"."From:info@aikodedoncker.donboscohalle.net");
?>
我知道 MESSAGE 不应该放在那里,它只是为了方便看到消息需要放在那里。
所以我希望邮件是 $mail1 + $onderwerp + $mail2 + $naam + $mail3 + ...
我怎样才能做到这一点?
当您使用双引号时,您可以将变量直接添加到您的消息字符串中(尽管它读起来不太好)
<?php
$myEmail = "lol@lol.com";
$emailOnderwerp = "Contact form";
$naam = $_POST['naam'];
$email = $_POST['email'];
$onderwerp = $_POST['onderwerp'];
$bericht = $_POST['bericht'];
$message = "<h1>$onderwerp</h1><h2>Afzender:</h2><p>($naam)</p><h2>Bericht</h2><p>$bericht</p>";
mail($myEmail,"$emailOnderwerp",$message,"Content-type:text/html; charset=iso-8859-1"."\r\n"."From:info@aikodedoncker.donboscohalle.net")
?>
(虽然你可能想检查主题......但从技术上讲它应该有效)
另一种选择类似于
$message.= "text and tags";
$message.= $variable
或者您可以使用 HEREDOC 语法
$message=<<<ENDOFMESSAGE
<tags> and $variables
...
ENDOFMESSAGE;
还需要在"Content-type"前加上双引号...
希望对您有所帮助。
正如我在评论中提到的,你想多了,有一些更简单的方法可以解决这个问题。
要么将整个块更改为:(不需要所有这些变量)
$mail = "
<h1>
</h1><h2>Afzender:</h2><p>
(
)</p><h2>Bericht:</h2><p>
</p>
";
然后
mail("$myEmail","$emailOnderwerp",$mail,...
但是,如果您希望继续使用现有的:
您可以通过几种方式连接,例如:
$mail = $mail1 . "" . $mail2 . "" . $mail3 . "" . $mail4 . "" . $mail5;
或
$mail = "$mail1 $mail2 $mail3 $mail4 $mail5";
旁注:
您缺少结束分号:
mail($myEmail,"$emailOnderwerp",$message,...")
如果那是您的实际代码,这会引发解析错误。