用户注册后,网站会将激活码发送给电子邮件。类似的东西。 www.domain.com/?activate=<code>
我正在创建2种激活变体:1.manual 2.auto 让我们说我们有index.php。
1. 手动方法。当有人想手动激活用户时,一切都很明显:
用户打开页面www.domain.com/?activate
Index.php
检查以下脚本并包含div文件(包含激活表单)
if (isset($_GET['activate'])) {
$page='activate';
$divfile = 'path to div.php';
}
include $divfile;
然后页面通过ajax将表单数据发送到activation.php
文件。
2. 自动方法。假设用户直接点击www.domain.com/?activate=<code>
。我想做的是,检查if(!empty($_GET['activate']))
,如果可以的话。我无法弄清楚该怎么做。以编程方式将POST等内容发送到activation.php
或什么?
答案 0 :(得分:1)
通常,您可以从index.php调用所需的函数。你不会发布任何东西。
查看include和include_once。
您应该将激活码封装到一个单独的php文件中,该文件充当您的函数库。创建一个activate()方法,在名为activate.php的文件中执行激活。
然后,从activation.php和index.php开始,你可以这样做:
include 'activate.php';
// Call the activate function from activate.php
activate($code);
但是,您不要发布呼叫其他代码。你只需从PHP调用它。
答案 1 :(得分:0)
如果您在单个服务器上执行所有这些操作,我不确定是否需要POST。您可以使用包含激活功能的包含文件。但是,如果您在服务器之间进行通信,则可以使用HTTP_Request2,最好启用SSL选项。
使用HTTP_Request2进行GET非常简单。从PEAR获取它的开源代码。
// prep $serverName by putting the get parameters at the end
// of the URL with ?this=that
$req = new HTTP_Request2($serverName, HTTP_Request2::METHOD_GET);
$HTTPResponse = $req->send();
答案 2 :(得分:0)
使用$ _REQUEST以选择GET和POST(无论哪个可用)。然后只使用处理表单的相同代码作为处理?activation = 0000请求的页面。
答案 3 :(得分:-1)
我根本不明白你的问题。
通常的激活架构是:
发送给用户的链接,将直接指向激活脚本,如下所示:
http://www.example.com/activation.php?code=code
在activation.php中,您阅读$_GET['code']
变量并激活用户。
如果您想让用户能够将代码粘贴到某种形式 - 将表单添加到此页面。他们输入它并且结果具有相同的链接。没有大碍。
就是这样。没有“程序化的POST”,没有ajax,没有狡猾的计划 - 一切都很简单。