我的问题是htmlspecialchars在发送电子邮件时没有回答。
所以当我输入contact.php?reklamtion = yes(例如)时,一切看起来都很好。 echo $ formproc给了我?reklamation = yes。
在这种情况下应该发送邮件到everytime@example.com和reklamation@example.com。
相反,发生的事情是将邮件发送到everytime@example.com和fail@example.com,并且当重定向时发送$ formproc echoes?none = yes。
有谁知道这里有什么问题,或者我应该从哪里开始寻找?
<?php
$frompage = "";
$formproc->AddRecipient('everytime@example.com');
if (htmlspecialchars($_GET["reception"])=="yes") {
$formproc->AddRecipient('reception@example.com');
$frompage = "&reception=yes";
} elseif (htmlspecialchars($_GET["reklamation"])=="yes") {
$formproc->AddRecipient('reklamation@example.com');
$frompage = "&reklamation=yes";
} elseif (htmlspecialchars($_GET["contact1"])=="yes") {
$formproc->AddRecipient('contact1@example.com');
$frompage = "&contact1=yes";
} elseif (htmlspecialchars($_GET["contact2"])=="yes") {
$formproc->AddRecipient('contact2@example.com');
$frompage = "&contact2=yes";
} else {
$formproc->AddRecipient('fail@example.com');
$frompage = "&none=yes";
}
if(isset($_POST['submitted']))
{
if($formproc->ProcessForm())
{
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$formproc->RedirectToURL(" $actual_link?sent=yes$frompage ");
}
}
?>
...
<html>
<body>
<?php
echo $formproc
?>
</body>
</html>
更新:
if(isset($_POST['submitted']))
{
if($formproc->ProcessForm())
{
die($frompage); // This gives back &none=yes on submit
$actual_link = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
$formproc->RedirectToURL(" $actual_link?sent=yes$frompage ");
}
}