【问题标题】:php form mail functionphp表单邮件功能
【发布时间】:2015-06-17 15:49:13
【问题描述】:

我正在使用邮件功能将其邮寄到我的电子邮件地址,但我希望它向我发送一条包含变量的消息。 (我曾尝试将其与连接点连接,但它似乎不起作用,或者我没有正确使用它)

代码:

<?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 + ...

我怎样才能做到这一点?

【问题讨论】:

  • 加号是 JS/C++ 的连接方式。使用点。
  • 我已经使用了连接点,我尝试了两个点(php)作为加号(js)。加号只是为了显示安排。
  • 你想多了
  • 想太多是什么意思?
  • 所以我希望消息是 $mail1 + $onderwerp + $mail2 + $naam + $mail3 + ...当然这不仅仅是简单的$message = $mail1 . $onderwerp . $mail2 . $naam . $mail3 . {and so on}?

标签: php email variables concatenation


【解决方案1】:

正如我在 cmets 中提到的,你想多了,有一些更简单的方法可以解决这个问题。

将整个块更改为:(不需要所有这些变量)

$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,...")

如果这是您的实际代码,则会引发解析错误。

【讨论】:

    【解决方案2】:

    当你使用双引号时,你可以将变量直接添加到你的消息字符串中(虽然它读起来不太好)

    <?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”前加上双引号...

    希望对你有帮助。

    【讨论】:

      猜你喜欢
      • 2012-02-27
      • 1970-01-01
      • 1970-01-01
      • 2015-02-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-08-12
      • 1970-01-01
      相关资源
      最近更新 更多