提问者:小点点

base64_使用php对表单中textarea的内容进行编码,以通过邮件发送


我在努力取得一些不成功的成就。

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

例如,这是我的表格。

超文本标记语言

<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>

现在我将尝试在$message上打印这个“clientMessage”=""; 我的邮递员。php将其发送到邮件中介绍的表单上。到目前为止,我收到的邮件,但代码为文本。不确定我做错了什么:

梅勒。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个答案

匿名用户

您已经使用了PHP,所以$mail的输出。="echobase64_encode($clientMessage);"将是该字符串。只需尝试$消息。=base64_encode($clientMessage);

我希望我正确理解了你的意思。

匿名用户

我找到的解决办法就是这个

PHP

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

首先发布的clientMessage从表单,然后创建的链接与另一个变量创建用作链接,首先所有的地址和终止的编码文本的第二个。