根据用户会话

时间:2015-04-30 14:59:53

标签: php mysql database login

我需要你帮助做一个脚本来从用户登录的两个表中获取用户数据。

这是我的配置:

  • 我使用THIS GUIDE执行登录表单和会话

  • 我的档案是:

  

---- Login.php(此文件包含html中的登录表单)
  ---- db_connect.php(这是用于数据库连接)
  ---- process_login.php(这会控制连接数据并在登录后重定向用户)
  ---- function.php(这是sec_session_start ();和从数据库中检索数据的函数)

数据库表:

  1. 成员
  2. addusr
  3. 好的,问题是:

    我的数据库中有2个表(称为:test),第一个表保存主要用户数据(id,用户名,密码,盐)

    第二个表格:id,姓名,姓氏,传记,日(生日),月(生日月),年(生日)。

    当用户注册时,程序在数据库中打印用户数据。 当用户登录时,我需要获取用户数据作为名称和姓氏,但如何从第二个表中恢复此数据?

    到目前为止,我已经开发了这个:

    function get_talkm3_nome () {
        include 'db_connect.php';
    
        $conn = $mysqli = new mysqli(HOST, USER, PASSWORD, DATABASE);
    
        $query = "SELECT addusr.nome FROM addusr, members WHERE members.username = '{$_SESSION['username']}'";
        $result = $conn->query($query);
    
        if ($result->num_rows > 0) {
            // output data of each row
            while($row = $result->fetch_assoc()) {
                echo "" . $row["nome"]. "<br>";
            }
        } else {
            echo "Si è verificato un errore, non ho trovato nulla";
        }
    

    此文件存储在函数中,我调用它来打印实际登录用户的名称,但它不能正常工作,因为它不是获取当前登录用户的名称(我的名字)而是得到这个: Fabrizio,lorenzo,test3

    但是如何解决这个问题呢?

    由于

1 个答案:

答案 0 :(得分:1)

您需要2个表,每个表中都有一列,此列必须在两个表中具有相同的值才能建立它们之间的关系(外键)。 然后,对于查询,您必须使用内部联接来从2个表中获取数据。

这是w3schools的一个例子 http://www.w3schools.com/sql/sql_join_inner.asp 在示例中,外键是CustomerID列。

我建议你这个页面学习像mysql&amp; amp; PHP。