我有这个问题,为什么我的表单没有将数据发布到我的PHP脚本。要取消订阅我已设置的电子邮件列表,我会向已取消订阅电子邮件的用户发送包含发布某些数据的表单。
POST
在表单$_POST["email"]
的页面上,我得到了#34;没有数据"如果var_dump($_POST)
变量中没有数据,我设置的错误。我尝试使用array(0) { }
,但只返回mexfunction()
,但这对我不起作用。
让我最困惑的是当我从电子邮件中复制确切的html并将其粘贴到空白页面时,当我点击提交/取消订阅时,它会将数据发布得很好,而我网站上的其他地方则有完全相同的脚本,唯一不同的是形成没有/ db。发送一个页面的行为应该如何,显示数据的propper数组而不是什么。这是唯一的区别。
如果它有所不同,我使用Thunderbird for Windows 10作为我的电子邮件客户端。
任何认为可以提供帮助的人都将不胜感激:)
答案 0 :(得分:1)
由于安全问题,不支持表单,也不建议在电子邮件中使用表单。大多数电子邮件客户端会警告用户存在风险,或者只是将其禁用,并且无法正常工作。
启用取消订阅的最佳做法是使用链接。您可以在链接上传递任何requierd参数以取消订阅,例如http://www.example.com/unsubscribe.php?usermail=mail@gmail.com。
答案 1 :(得分:0)
默认方法是GET,而不是POST;你需要指定
<form method="post" ...>
也许在线托管此表单的链接可能是一个更好的主意;有些邮件客户端不支持显示邮件;由于安全问题(例如网络邮件界面),可能会有更多客户拒绝提交或发布这些内容。
答案 2 :(得分:0)
尝试:
<html>
<body>
<div>
<p>This is a confirmation message to confirm that you unsubscribed from the sci-eng email list.</p>
<p>Click on the button below to confirm your unsubscription.</p>
<form id="unsubform" action="http://redlinks.ca/sci-eng/db/unsubscribe.php" method="post">
<div class="form-in">
<input type="hidden" id="emailkey" name="emailkey" value="key">
<input type="hidden" id="email" name="email" value="email@domain.com">
<button class="btn" id="submit" type="submit">Unsubscribe</button>
</div>
</form>
</div>
</body>
</html>
答案 3 :(得分:0)
如果您不使用POST方法,那么您的表单值如何发布到phpScript。请尝试以下代码。
<html>
<body>
<div>
<p>This is a confirmation message to confirm that you unsubscribed
from the sci-eng email list.</p>
<p>Click on the button below to confirm your unsubscription.</p>
<form id="unsubform" method="POST" action="http://redlinks.ca/sci-eng/db/unsubscribe.php">
<div class="form-in">
<input type="hidden" id="emailkey" name="emailkey" value="key">
<input type="hidden" id="email" name="email" value="email@domain.com">
<button class="btn" id="submit" type="submit" >Unsubscribe</button>
</div>
</form>
</div>
</body>
答案 4 :(得分:0)
请勿发送表单进行确认。请尝试以下步骤:
为取消订阅并存储在数据库中的电子邮件生成唯一的加密密钥
将确认链接发送至特定用户电子邮件,密钥为(http://domainurl/confirm.php?key=1533c67e5e70ae7439a9aa993d6a3393)
现在检查相应电子邮件的密钥并取消订阅,并从数据库中删除密钥