如何从PHP标头获取用户名

时间:2014-05-12 21:42:23

标签: php

我无法弄清楚如何从php标头中获取用户的$username

登录/注册后,标题包含一个带有用户用户名的变量,但是当我想将它用于profile.php页面时,我无法弄清楚如何获取该变量。每个人都建议使用$_GET['username'],但由于某种原因似乎没有用。我确定这很明显,我无法理解。

这是我的标题:

header('location: home.php?user='.$username);

我只是希望能够为$username文件获取profile.php变量,以便我可以回复该用户名。

UPDATE 根据建议重新编写它,配置文件php如下:

    <?php if(isset($_GET['user']))  {

    echo $username;

} else {

    echo "Error";
} ?>

仍设法产生错误

2 个答案:

答案 0 :(得分:1)

如果您的标题是:

header('location: home.php?user='.$username);

使用此方法获取用户名:

$user = $_GET['user'];

$_GET数组包含查询字符串中的参数。查询字符串如下所示:

param1=foo&param2=bar // etc

因此,当您想从查询字符串中获取参数时,请使用$_GET['param1']$_GET['param2']等。

由于评论而更新

您的代码有点不对:

<?php if(isset($_GET['user']))  {

    echo $username;

} else {

    echo "Error";
} ?>

首先,检查是否已分配$_GET['user']。如果是,则执行echo $username;$username var未定义 - 您没有为此变量分配任何内容。

你必须使用:

<?php if(isset($_GET['user']))  {
    echo $_GET['user'];
} else {
    echo "Error";
} ?>

或者这个:

$username = $_GET['user'];
<?php if(isset($username))  {
    echo $username;
} else {
    echo "Error";
} ?>

答案 1 :(得分:0)

您更新的代码仍然有误,因为您正在检查$ _GET [&#39; user&#39;]`是否存在,但是回显了一个明显未初始化的变量。

试试这个:

<?php if(isset($_GET['user']))  {
  echo $_GET['user'];
} else {
  echo "Error";
} ?>