PHP变量引用问题

时间:2014-11-30 05:01:40

标签: php sql variables include globals

我正在尝试在登录时从数据库中读取用户的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;
?>

我不确定为什么$ se是一个int并没有传递给test.php

任何帮助? 并且有一些html来自未包含的内容,但这与手头的问题无关

2 个答案:

答案 0 :(得分:1)

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

$_SESSION['se'] = $me;

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

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

答案 1 :(得分:0)

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