【问题标题】:PHP variable referencing issuePHP变量引用问题
【发布时间】:2015-01-28 09:13:27
【问题描述】:

我试图在用户登录时从数据库中读取用户的 id,并将其保存到变量中以供以后在其他程序中使用。我的用户表是这样的

    addressBookUsers
[
userid int(11) PK AUTO_INCREMENT;
firstName;
LastName;
email
]

带有一些虚拟数据

userid username password
1      fred     12ewerefds2
2      al        343ed3fe

这是我使用用户名获取用户 ID 并存储到变量中的代码

    <?php
    session_start();
    include("dbconnect.php");
    $con= new dbconnect();
    $con->connect();

    //create and issue the query
    $id = "SELECT userid FROM addressBookUsers WHERE username = '".$_POST["username"]."'";
    $userid = mysql_query($id);
    while($row = mysql_fetch_array($userid)) {
    $me = $row[0]}
    $se=$me;


    echo($se)
?>

这会返回正确的用户 ID,但是当我尝试在另一个 php 文件中调用 $se 以查看它是否已保存时,我没有得到结果

test.php
<?php
include ("userloginses.php");
echo $se;
?>

我不确定为什么作为 int 的 $se 没有传递给 test.php

有什么帮助吗? 是的,有一些 html 来自不包括在内的东西,但这与手头的问题无关

【问题讨论】:

    标签: php sql variables include globals


    【解决方案1】:

    你做错了。你有会话所以使用它们:

    $_SESSION['se'] = $me;
    

    然后 test.php 看起来像这样:

    <?php
        session_start();
        include ("userloginses.php");
        echo $_SESSION['se'];
    ?>
    

    【讨论】:

    • 太棒了!感谢您的回答,这正是我正在寻找的
    【解决方案2】:

    您可以像这样引用任何 PHP 变量。如果您想使用 PHP 变量或什至任何 Web 语言的保留值,您必须将其保存到 SESSION 或 COOKIE。在用户登录的情况下,您应该使用 SESSION 变量。在您的代码启动会话中,而不是 $e 定义 $_SESSION['e'] 并访问您目录的任何 php 脚本。不要忘记在要访问此变量的每个 php 脚本的第一行中使用 session_start() 启动会话。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多