2010-10-22 88 views
3

我正在使用PHP,我想知道用户是否登陆某个页面,并且他们必须登录或注册以便能够执行评论或评分等操作。我希望能够将用户带回他们登录后的同一页面。登录后将用户带回初始页面?

我正在考虑使用PHP get函数并传递URL,我不确定这是做到这一点的最佳方式。

回答

3

推测您的登录字段为html格式。在构建表单时,将当前URI放在隐藏的输入字段中,然后在POST数据提交后要执行重定向时可以使用这些信息。

我通常不使用PHP没有一个框架,但这里有一些资源,这将有助于你得到这样的信息:

http://www.webcheatsheet.com/PHP/get_current_page_url.php

How can I get the current page's full URL on a Windows/IIS server?

基本上,它是这样的:

$current_url = "http://" .$_SERVER['HTTP_HOST'] .$_SERVER['REQUEST_URI']; 

但是,如果您使用的是https,则必须更改该字符串因此。

+0

欢呼,谢谢队友! – getaway 2010-10-22 23:31:52

+0

请注意HTTP_HOST,因为它是从客户端请求生成的,并且可以作为XSS的入口点http://shiflett.org/blog/2006/mar/server-name-versus-http-host – rmontagud 2010-10-23 00:30:42

2

另一种方法是将它们重定向回$_SERVER['HTTP_REFERER']。有一点需要考虑的是浏览器可以选择不发送Referer URL。

1

我可能有点晚,但...

$home_url = 'http://' . $_SERVER['HTTP_HOST'] . dirname($_SERVER['PHP_SELF']) . 'index.php'; 

我也忘了,你会后把这个,这是居然会带你回到主页

header('Location: ' . $home_url); 
+1

不要忘记发送'Location:'标题后,退出或退出。 – alex 2010-10-23 00:25:46

+0

+1为好 – Drewdin 2010-10-23 00:31:58

相关问题