【问题标题】:Php displaying username /username [duplicate]php显示用户名/用户名[重复]
【发布时间】:2013-10-01 02:51:30
【问题描述】:

我只是想知道我是否可以显示我的登录用户名,例如http://website.com/username /username 将是用户名并在 profile.php 上显示用户名我如何在回显中显示它?如果需要,这里的或变量是我的 ht 访问权限

RewriteEngine On
RewriteRule ^([a-zA-Z0-9_-]+)$ profile.php?user=$1
RewriteRule ^([a-zA-Z0-9_-]+)/$ profile.php?user=$1
RewriteRule ^([a-zA-Z0-9_-]+)$ profile.php?user=$1

【问题讨论】:

  • 即使你得到这个工作,这不应该用来管理用户会话。说真的。
  • 旁注:只需要一个 RewriteRule:RewriteRule ^([A-Za-z0-9_-]+)/?$ profile.php?user=$1 [L]

标签: php


【解决方案1】:
<?php
if(isset($_GET['user'])) {
    echo $_GET['user'];
}
?>

或短版:

// Use outside php tags
<?=(isset($_GET['user']) ? $_GET['user'] : "guest")?>

// use inside php tags
echo (isset($_GET['user']) ? $_GET['user'] : "guest");

【讨论】:

    【解决方案2】:
    <?php echo $_GET['user']; ?>
    

    【讨论】:

    • 不要相信用户数据!
    • 当然不是。这只是为了演示如何获取该变量。
    【解决方案3】:

    网址中具有此类型的任何内容:page.php?var1=x&amp;var2=2 可以通过全局 $_GET 数组访问,因为它是 get 协议发送的变量。

    所以我的示例中的 var1 和 var2 可以在 $_GET['var1'], $_GET['var2'] 中找到。 在你的情况下,如果页面是website.com/profile.php?username=SomeUser 你可以使用$_GET['username']

    最后一件事,在任何情况下都不要使用通过全局访问的用户输入 直接在你的代码中创建数组,评估它,清理它,转义它,无论你需要什么,然后使用它。

    【讨论】:

      【解决方案4】:

      过滤从 url 获取的数据

      <?php 
      $user = filter_var($_GET['user'], FILTER_SANITIZE_STRING);
      
      echo $user;
      ?>
      

      【讨论】:

      • 你忘记了 echo 用户的 $ ;)
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-11-10
      • 2021-11-27
      • 2015-05-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多