【问题标题】:Can i get this variable value in this case? (php)在这种情况下我可以得到这个变量值吗? (php)
【发布时间】:2009-05-04 10:04:14
【问题描述】:

我将一个变量传递给 domain.com/index.php?user=username

在我的页面 (index.php) 中包含其他页面,例如 about.php、profile.php、contact.php 等。

我的问题是,是否可以将变量传递给 index.php,然后 about.php、profile.php 也可以使用 $_GET['user']; 检索变量方法??(其实我试过了,失败了,给我“未定义的索引:...”

如果这个方法失败了,还有其他方法吗?

编辑: 是的,我可以使用会话。我想显示其他人的个人资料怎么样?表示其他用户名?

【问题讨论】:

    标签: php variables


    【解决方案1】:

    您可以将变量保存在会话中。

    在您的 index.php 文件中。

    session_start();
    $_SESSION["user"] = $_GET["user"];
    

    然后在您的以下文件中,您可以开始会话并调用$_SESSION["user"]

    编辑: 如果您需要显示可以采用相同参数的不同内容,那么您需要在该 url 中包含这些参数。

    编辑 2: 顺便说一句,这是一种猜测,因为我不知道您的代码或技能水平。

    假设您有这个 index.php 页面。您通过 index.php?user=john 访问哪个

    在此页面中,您列出了约翰的朋友。您还可以通过 index.php?user=alex 和 index.php?user=tim

    访问他们的个人资料

    然后你可以参考他们朋友的网址。 (假设你有一个标准的 mysql_fetch_* 方式的朋友数组)

    <?php
        echo "<a href='index.php?user=".$friend["name"]."'>".$friend["name"]."</a>
    ?>
    

    并使用 $_GET 变量获取您的链接

    <?php
        echo "<a href='index.php?user=".$_GET["user"]."'>".$_GET["user"]."</a>
    ?>
    

    【讨论】:

    • 是的,这解决了登录用户。但是我有好友列表,我需要传递我的好友变量名吗?
    • 我如何传递 id?在 url 中是 index.php?user=friend,然后是 profile.php,about.php 如何获取这个变量?对不起,因为我有点菜鸟。
    【解决方案2】:

    我假设您希望在您的网站上将“用户名”作为不同的用户身份传递,以便用户可以查看他们的个人资料,例如:

    profile.php?user=peter

    profile.php?user=olafur

    这是正确的吗? 一种方法是会话,但如果您愿意,也可以将它们作为 GET 变量传递给页面内的所有链接。

    例如。如果用户以 index.php?user=peter 开头 您只需将其保存为 $this_user = $_GET["user"]; 在 index.php 中,当您呈现链接时,您只需分配 $this_user 变量,例如:

    个人资料

    我希望这会有所帮助。

    【讨论】:

    • 短标签不是很明确,我已经读到在未来的版本中可能会放弃对它们的支持。
    【解决方案3】:

    我建议避免使用会话将参数从一页传递到另一页。在这种情况下,最好的解决方案是将用户名(或者更好的是用户 ID)作为参数传递给每个页面。

    如果您觉得它太难,请尝试查找一些 PHP MVC 框架(那里有 很多)。这比尝试自己滚动要好。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-09-09
      • 2022-11-28
      • 2012-03-28
      • 2016-12-16
      • 1970-01-01
      • 2016-09-12
      • 2018-10-15
      相关资源
      最近更新 更多