base64_Encode来自textarea的内容,来自使用php通过邮件发送的表单

时间:2017-12-26 16:52:07

标签: php

我试图取得成功但没有成功。

我有一个包含两个字段的联系表单,一个是电子邮件地址的输入,另一个是textarea。我试图将此文本转换为编码文本并通过邮件将其打印到同一表单中包含的邮​​件中。

例如,这是我的表格。

HTML

<form action="email.php" method="post" class="form" id="form1">
            <input type="text" name="email" placeholder="Email...">
            <textarea class="textarea" name="clientMessage" placeholder="Write them something secret here, they won't know who wrote it" maxlength="120"></textarea>
            <input type="submit" class="sendButton" id="sendButton" value="Send">
            </form>

所以现在我将尝试打印这个&#34; clientMessage&#34;在$ message上。=&#34;&#34 ;;我的mailer.php将其发送到表单上引入的邮件。到目前为止,我收到了邮件,但代码为文本。不确定我做错了什么:

mailer.php

<?php
$clientMessage= $_POST["clientMessage"];
echo base64_encode($clientMessage);
$message = '<html><body>';

$message .= "echo base64_encode($clientMessage);";
$message .= "</body></html>";

$sender= $_POST["email"];

$to = $sender;

$subject = 'Something for you';

$from = 'secret@noreply.com';

$fromEmail = 'secret@noreply.com';

$header = 'From: ' . $from . '<' . $fromEmail . '>';

mail($to, $subject, $message, $headers);

header("Location: https://www.website.com/thanks.html");
exit;
?>

有人可以告诉我,我做错了什么:)?谢谢!

2 个答案:

答案 0 :(得分:1)

您已经使用PHP,因此$message .= "echo base64_encode($clientMessage);"的输出将是该字符串。试试$message .= base64_encode($clientMessage);

我希望我理解你的意思。

答案 1 :(得分:0)

我找到的解决方案就是这个

PHP

$clientMessage= $_POST["clientMessage"];
$encodedMessage = "https://www.address.com/read.html?m=";
$encodedMessage .= base64_encode($clientMessage);

首先从表单中发布clientMessage,然后创建链接,创建另一个用作链接的变量,首先是地址和第二个上编码文本的终止。工作得很好!