我相信这是一个与cookie相关的非常有趣的问题。
我的index.php
有一个表格,它发布到post.php
。 然后post.php
操纵数据并使用curl
将其发布到webinarjam.net
,一个不受我控制的第三方服务。
然后webinarjam.net
显示一条简短的成功消息,基本上只包含一个唯一的 URL。唯一的 URL 是指向感谢页面(由 webinarjam.net
托管)。
这一切都很好用。但问题是:
单击URL仅在隐身模式(?!)下有效(即首先清除浏览器cookie)。否则,webinarjam.net
仅显示"内部服务器错误"。
我不知道为什么 cookie 的存在会阻止页面显示。
如何更改我的post.php
,以便即使不使用浏览器的隐身模式也能正确显示唯一的感谢页面 URL?
弄清楚这一点将使我能够在表单提交时简单地将用户重定向到该感谢页面 URL。 (目前,重定向只会将她带到显示"内部服务器错误"的页面。
附言如果这有帮助,我还使用 Chrome 中的高级 Rest 客户端扩展程序尝试将相同的查询数据发布到 webinarjam.net
;然后,可以在不使用隐身模式的情况下显示生成的唯一感谢页面 URL。所以。。。我需要帮助弄清楚的是:我的post.php
和高级 Rest 客户端扩展发布到webinarjam.net
的方式之间有什么区别?
我终于注意到,不仅仅是隐身模式有效;它是除我的主要浏览器以外的任何浏览器。
我最终发现这是因为我的主浏览器登录到了EverWebinar网站。
我猜每当网络研讨会的登录管理员提交表单以注册该网络研讨会(即使使用不同的电子邮件地址)时,EverWebinar 都会(失败)。
似乎在提交表单时,系统会注意到登录管理员的会话/cookie,并说"无论如何,拥有此网络研讨会的人不应该注册它。