【问题标题】:"Was this helpful?" button“这个有帮助吗?”按钮
【发布时间】:2011-05-12 00:05:47
【问题描述】:
我想创建一个“这有帮助吗?”按钮,只需选择是/否。我没有准备好接收输入的数据库,所以,我只想让每个按钮在被点击时简单地向我发送一封电子邮件。也许电子邮件可能只是说,“网站用户发现此页面有用/无用:[URL]”。
我以前在 PHP 中编写过电子邮件反馈表单,但想不出从哪里开始。我不确定是否可以通过单击 javascript 按钮发送电子邮件。有人认为这是一种可能性吗?
【问题讨论】:
标签:
javascript
email
button
feedback
【解决方案1】:
您可以使用 jquery 之类的库向代理 PHP 脚本发送 ajax 帖子:
$.post("/likedthis.php", { 'page': window.location.href},
function(data) {
// Deal with the post results here if you want
alert("Data Loaded: " + data);
});
虽然您会遇到的一个问题是人们多次刷新和点击,可能会向您发送垃圾邮件。一个很好的基本保护措施是使用他们的 IP 地址和页面设置一个$_SESSION 变量或 cookie,这样他们就不能一次又一次地点击。
但请注意,他们可以简单地使用另一个 IP 地址,或者说另一个页面会有所帮助。然而,仅仅为此,这将是很多工作。
另外,为了安全起见,最好还对照parse_url() 检查页面变量以确保安全。
【解决方案2】:
您不能直接通过 JavaScript 发送电子邮件。这是您可以做到的一种方法:
- 使用 JavaScript,将
click 事件监听器添加到按钮,当触发时:
- 禁用按钮,然后
- 向服务器发送ajax请求,指示服务器发送邮件
使用跨浏览器库将使编写 JS 部分变得更简单:
【解决方案3】:
即使可以,您也不希望使用 Javascript 发送电子邮件。您需要访问 SMTP 服务器,并且必须将您的凭据传递给该服务器。通过使用 JS,您的整个代码将在客户端,因此您的凭据将很容易获得。您可以使用服务器端语言吗?