0

我正在尝试返回当前用户名。我从 URL 中获取用户名并通过$_GET['user']方法访问。

但是当我尝试使用 get 方法时,它不会返回名称,而是返回空。

echo $_GET['user']; // giving myname

$userName=$_GET["user"];

function getUserName()
{
global $userName;       
    if(isset($userName)){   
        return $userName;
    }else{
        return "defaultuser";
    }
}

我也试过这个:
$userName="".$_GET['user']."";

但是当我简单地给出$userName="myname";它的工作时。那么这条线有什么问题吗$userName=$_GET["user"];

4

2 回答 2

1

尝试这个

http://www.mysite.com/index.php?user=myname

方法一:

if(isset($_GET['user'])) {
    $username = $_GET['user'];
} else {
    $username = 'defaultUser';
}

方法二:

function getUsername() {
   $username = (isset($_GET['user'])) ? $_GET['user'] : 'defaultUser';
   return $username;
}

第二种方法使用三元运算符。它与第一种方法完全相同。

PS:如果您考虑使用上述代码进行数据库查询,请不要忘记使用mysql_real_escape_string()

于 2011-06-30T11:52:37.247 回答
0

尝试这个:

function getUserName()
{

    if(isset($_GET['user'])){   
        return $_GET['user'];
    }else{
        return "defaultuser";
    }
}  

你不需要有其他的var,也是$_GET超全局的,所以你不需要全局运算符

于 2011-07-19T12:27:25.070 回答