加入收藏 | 设为首页 | 会员中心 | 我要投稿 北几岛 (https://www.beijidao.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

php $_SERVER [‘PHP_SELF’]包含查询字符串

发布时间:2021-07-06 05:23:08 所属栏目:大数据 来源: https://www.jb51.cc
导读:我本质上是在尝试创建一个登录系统,将用户返回到他们所在的页面.我知道这个问题已经被问了一些,我已经看了SO的其他答案,但我无法找到解决我特定问题的方法. 我的网站有一个带参考ID号码的表格(例如:10001,10003,10004,… 53401等).这些数字也是链接.所有链

我本质上是在尝试创建一个登录系统,将用户返回到他们所在的页面.我知道这个问题已经被问了一些,我已经看了SO的其他答案,但我无法找到解决我特定问题的方法.

我的网站有一个带参考ID号码的表格(例如:10001,10003,10004,… 53401等).这些数字也是链接.所有链接都指向一个页面(“mypage.PHP”),引用ID号(10004)成为该URL的查询字符串:

<td><?PHP echo '<a href="mypage.PHP?query_ecr=', urlencode($num), '">'; ?><?PHP echo $num; ?></a></td>

在我的“header.PHP”(位于网站的每个页面上)上,菜单上有一个按钮,打开下面的表单供用户登录.

<form action='login/process.PHP' method='post'>
  <label for='name'>Username:</label>
  <input type='text' id='userid' name='user_name'/>
  <label for='password'>Password:</label>
  <input type='password'  name='password' id='userpassword'/>

  <input type='submit' value='Log In' />

  <input type='hidden' name='login' value='1'>
  <input type='hidden' value='".$_SERVER['PHP_SELF']."' name='redirurl'/>
</form>

注意名为=’redirurl’的“隐藏输入”.我想捕获用户所在的当前页面.我已经有一个登录脚本,它将检查用户名和密码,并将它们重定向到他们需要的页面.

//login/process.PHP

...blah blah blah other stuff...

global $database,$session;
       $this->user_status=$database->CheckUserPass($_POST['user_name'],$_POST['password']);
       $url = $_POST['redirurl'];
       if($this->user_status==1)
          {
              $session->StartSession($_POST['user_name'],$_POST['password']);
              header("Location: ".$url);
        } else {
              ...blah blah blah.....
              }

我的问题是如果GUEST点击一个链接(例如:10004),他们将被带到网址:

http://www.XXXXXX.XXXX/mypage.PHP?query_ecr='10004'

但是,在该页面上,’redirurl’的值为:

http://www.XXXXXX.XXXX/mypage.PHP

它忽略了查询字符串.因此,当用户从该页面登录,并且我的登录脚本将它们重定向回该页面时,该页面有大量错误,因为它需要查询字符串.

如何将查询字符串包含在:$_SERVER [‘PHP_SELF’]中?

解决方法:

你可以使用:

$_SERVER['REQUEST_URI']

获取域名文件夹,查询字符串等后的所有内容
然后,您可以使用其他$_SERVER变量来添加域,或者如果您没有更改主机,则可以在没有域名的情况下使用.

(编辑:北几岛)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读