邮件OneClick错误消息

时间:2014-01-07 14:12:36

标签: php

我正在开发一个网站,在从.csv文件中读取记录后,会显示该网站。 有时字段包含错误,我想显示一个按钮/链接,当用户点击按钮时会自动向我发送电子邮件。

现在它的工作原理如下:

if ($url == null && $naam == null) {
  echo "\n<li><span class=\"naam\">Foute Invoer.</span>\n<br /><span class=\"error\"><a href=\"mailto:myname@institution.be?subject=Fout 0&body=Error 0 - No URL - No Name - File: " . $csv . " Line: " . $line . "\">Fout melden</a></span></li>\n";
}

现在,用户仍然需要单击Outlook中的发送/他们正在使用的任何电子邮件软件,并且也可以编辑该消息。

我希望有一个按钮,当用户看到错误时会自动向我发送电子邮件。

我尝试添加以下表单而不是mailto-link:

<form action="" method="post">
<input type="submit" value="Zend foutmelding" />
<input type="hidden" name="button_pressed" value="1" />
</form>

<?php

if(isset($_POST['button_pressed']))
{
$to      = 'myname@institution.be';
$subject = 'Errorcode';
$message = 'File: ' . $csv . ' Line: ' . $line;
$headers = 'From: myname@institution.be';

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

echo 'Email Sent.';
}
?> 

但是这样它会为页面上的每个错误发送一封电子邮件(例如,我测试的页面包含3个错误,所以我收到了三封电子邮件。)

是否有解决方案我只收到一封电子邮件,以便选择记录?因为这个网站将有数千条记录,所以我每天都不能收到一千封电子邮件,因为网站上的每一个错误。

更新+答案

虽然我知道这不是我问题的最佳解决方案,但我找到了一个问题,我首先要问的问题是:

我为每条记录创建了一个id

$id = $filter . "_" . $line;

然后我将表单更改为:

<form action="" method="post">
<input type="submit" value="Zend foutmelding" />
<input type="hidden" name="<?php echo $id; ?>" value="1" />
</form>

<?php

if(isset($_POST[$id]))
{
$to      = 'myname@institution.be';
$subject = 'Errorcode';
$message = 'File: ' . $csv . ' Line: ' . $line;
$headers = 'From: myname@institution.be';

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

echo 'Email Sent.';
}
?> 

是的,它有效。 是的,在这里几乎要简单问一下,我知道......

现在我将继续考虑更优雅的解决方案,这些解决方案可以解决我的错误报告问题。

感谢您的帮助和思考。

1 个答案:

答案 0 :(得分:0)

如果没有登录,你就不会来。

最好是制作一个包含错误代码和时间戳的表,这样就会选择每个错误代码,如果今天没有记录,那么就会发送一封电子邮件。

如果没有写下你已发送的内容,除非通过会话或类似的东西,否则将很难使其工作,但这不是一个非常明确的解决方案,因为每次使用rwill都会再次生成电子邮件。