我正在开发一个站点,在从.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链接:
<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个错误,因此我收到了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.';
}
?> 是的,很管用。是的,问这个问题很简单,我知道.
现在,我将继续考虑更优雅的解决方案,这将真正解决我的错误报告问题。
谢谢你和我一起帮助和思考。
发布于 2014-01-07 14:32:21
你在这里不登录就来了。
最好的方法是制作一个包含错误代码和时间戳的表,这样每个错误代码都会被选中,如果今天没有记录,那么就会发送一封电子邮件。
如果不写下你已经发送的内容,它将很难使它工作,除了通过会话或类似的东西,但这不是一个非常明确的解决方案,因为每个不同的使用or将再次生成电子邮件。
https://stackoverflow.com/questions/20973827
复制相似问题