如何获取特定用户的数据,但是来自不同的表

时间:2014-10-20 03:21:07

标签: php mysql database session

我想在他登录后立即从数据库A显示用户1的数据,此时页面显示表格中的所有数据。

目前我有2个表格,用于用户登录用户交易。所以他们登录后,我希望他们能够查看自己的记录。搜索后,我认为它与会话有关。

有人能帮帮我吗?

connection.php

<?php
$mysql_host = "localhost";
$mysql_user = "root";
$mysql_pass = "";
$mysl_database = "mockup";

$conn = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_select_db($mysl_database, $conn);
?>

的login.php

<?php
include("connection.php");

if(isset($_POST["submit"])) {
$username = $_POST["username"];
$password = $_POST["password"];

$sql = "SELECT * FROM user
        WHERE username='$username' AND password='$password'";
$result = mysql_query($sql);
$numRows = mysql_num_rows($result);
if($numRows==1) {
    session_start();
    $_SESSION["ID"] = $ID;
    header("Location: ./profile_page.php");
} else {
    echo "Invalid Login Information";   
}
}
?>

<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
<table>
<tr><td>User Name</td><td><input type="text" name="username" /></td></tr>
<tr><td>Password</td><td><input type="password" name="password" /></td></tr>
<tr><td></td><td><input type="submit" name="submit" value="Login" /></td></tr>
</table>
</form>

profile_page.php

<?php
session_start(); // start the session
include("connection.php");

$ID = $_SESSION["ID"]; // store the user id into session

$sql = "SELECT * FROM transaction WHERE ID='$ID'";
$result = mysql_query($sql);

if($row = mysql_fetch_array($result)) {
$deposit = $row["deposit"];


echo "
<table>
    <tr><td>transaction</td><td> : </td><td>$transaction</td></tr>

</table>
";
}
?>

2 个答案:

答案 0 :(得分:2)

connection.php

<?php
$mysql_host = "localhost";
$mysql_user = "root";
$mysql_pass = "";
$mysl_database = "database_name";

$conn = mysql_connect($mysql_host, $mysql_user, $mysql_pass);
mysql_select_db($mysl_database, $conn);
?>

的login.php

<?php
include("connection.php");

if(isset($_POST["submit"])) {
    $username = $_POST["username"];
    $pass = $_POST["pass"];

    $sql = "SELECT * FROM tbl_user
            WHERE username='$username' AND pass='$pass'";
    $result = mysql_query($sql);
    $numRows = mysql_num_rows($result);
    if($numRows==1) {
        session_start();
        $_SESSION["userid"] = $userid;
        header("Location: ./profile_page.php");
    } else {
        echo "Invalid Login Information";   
    }
}
?>

<form action="<?php echo $_SERVER['SCRIPT_NAME']; ?>" method="post">
<table>
<tr><td>User Name</td><td><input type="text" name="username" /></td></tr>
<tr><td>Password</td><td><input type="password" name="pass" /></td></tr>
<tr><td></td><td><input type="submit" name="submit" value="Login" /></td></tr>
</table>
</form>

profile_page.php

<?php
session_start(); // start the session
include("connection.php");

$user_id = $_SESSION["userid"]; // store the user id into session

$sql = "SELECT * FROM tbl_user WHERE user_id='$user_id'";
$result = mysql_query($sql);

if($row = mysql_fetch_array($result)) {
    $username = $row["username"];
    $name = $row["name"];
    $email = $row["email"];

    echo "
    <table>
        <tr><td>User Name</td><td> : </td><td>$username</td></tr>
        <tr><td>Name</td><td> : </td><td>$name</td></tr>
        <tr><td>Email</td><td> : </td><td>$email</td></tr>
    </table>
    ";
}
?>

答案 1 :(得分:0)

您可以在会话的帮助下成功登录后保护和访问用户数据。

您可以使用session_start()开始新会话或恢复现有会话。

<?php
session_start();
if(empty($_SESSION['user_sesion_variable']))
  {
    header("location:login.php");
   die();
}
// here go your user database value