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

方法1:

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

方法2:

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

2番目の方法では、三項演算子を使用します。最初の方法とまったく同じことをします。

PS:データベースクエリに上記のコードを使用することを検討している場合は、使用することを忘れないでくださいmysql_real_escape_string()

于 2011-06-30T11:52:37.247 に答える
0

これを試して:

function getUserName()
{

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

他の変数は必要ありません。また$_GET、スーパーグローバルであるため、グローバル演算子は必要ありません。

于 2011-07-19T12:27:25.070 に答える