Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php mail()和标头(“Location:';url';”会导致';无限';环_Php_Email_Header - Fatal编程技术网

Php mail()和标头(“Location:';url';”会导致';无限';环

Php mail()和标头(“Location:';url';”会导致';无限';环,php,email,header,Php,Email,Header,您好,我使用了一个教程来学习在php中发送带有可选附件的电子邮件所需的中等难度的标题信息。我对它做了一点修改,它按照我的预期工作,直到我将它更改为完全符合教程的测试目的。我一测试它,就在几秒钟后检查了我的电子邮件,已经有21封电子邮件发送给我了。我立即从服务器上删除了文件并关闭了页面。我想知道到底是什么导致了这种行为 在使用mail()函数之后,我立即将重定向设置为所需的页面 if (mail($mailto, $subject, "", $header)) { header("Loca

您好,我使用了一个教程来学习在php中发送带有可选附件的电子邮件所需的中等难度的标题信息。我对它做了一点修改,它按照我的预期工作,直到我将它更改为完全符合教程的测试目的。我一测试它,就在几秒钟后检查了我的电子邮件,已经有21封电子邮件发送给我了。我立即从服务器上删除了文件并关闭了页面。我想知道到底是什么导致了这种行为

在使用mail()函数之后,我立即将重定向设置为所需的页面

if (mail($mailto, $subject, "", $header)) {
    header("Location: $redirectUrl");
    exit;       
} 

其中$header为半页长。是header()函数导致的吗?页面只是说页面重定向时间太长。我对转义/非转义字符有问题吗?我只调用该函数一次,它不包含在任何类型的for循环或do while中。页面本身不包括在其他任何地方。

NullUserException提出了一个很好的观点。变量超出范围。一个非常简单的更改修复了脚本。最初,变量是在函数外部声明的,在函数内部不可见。

那么,
$redirectUrl
是什么呢?现在的代码没有问题,除非
$redirectUrl
导致
header()
将您重定向回同一个脚本。它只是重定向到同一站点上不同目录的单独页面。PHP的
mail()
功能非常糟糕。我强烈建议使用一个像样的邮件类,比如。这将使您的生活更轻松,无论您使用的是什么
mail()
。@Matt有可能
$redirectUrl
实际上是空的吗?如果发生这种情况,重定向可能会出现不可预测的行为。尝试将其设置为硬编码值,看看会发生什么。@NullUserException-Hmm。。。没有,但可能超出范围了?我在脚本的顶部定义了它,然后我用附件函数()调用我的邮件函数,其中包含mail()函数itelsef,我没有将变量传递给函数。这就是为什么?