登录后向客户端显示MySQL数据

时间:2013-09-24 10:08:22

标签: php html mysql

我尝试过多种代码组合,一旦登录就尝试在自己的个人资料页面上显示我的客户数据。

这是我第一次设计一个网站,之前从未使用过MySQL,但我已经快速了解了它是如何工作的。

据我所知,我需要创建会话以在他们登录时“存储”他们的信息,然后我可以按照我的意愿显示它?

有没有人有我可以使用的代码?

我的SQL信息:

  • db:taxretur_login
  • table:members

方面我想表明:

  • 姓名
  • 电子邮件
  • 用户名

感谢。 斯坦。

更新:

此代码可以工作并将所有表格信息提取到用户页面,但我只想要该特定用户的数据:

<?php
$dbhost = 'localhost';
$dbuser = '';
$dbpass = '';
$conn = mysql_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
  die('Could not connect: ' . mysql_error());
}
$sql = 'SELECT id_user, email, 
           name, username
    FROM members';

mysql_select_db('taxretur_login');
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not get data: ' . mysql_error());
}
while($row = mysql_fetch_assoc($retval))
{
echo "User ID :{$row['id_user']}  <br> ".
     "Email: {$row['email']} <br> ".
     "Name: {$row['name']} <br> ".
     "Username : {$row['username']} <br> ".
     "--------------------------------<br>";
}  
echo "Fetched data successfully\n";
mysql_close($conn);
?>

4 个答案:

答案 0 :(得分:2)

在数据库中创建成员表

CREATE TABLE `members` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` char(20) NOT NULL,
  `name` char(30) NOT NULL,
  `email` char(40) NOT NULL,
  `pass` char(20) NOT NULL,
  PRIMARY KEY (`id`)
);

将用户添加到表成员

INSERT INTO `members` VALUES ('1', 'user1', 'mr. x', 'email@domain.com', '123');

只需将变量更改为页面connection.php中的mysql用户

connection.php

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

$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 members 
            WHERE username='$username' AND pass='$pass'";
    $result = mysql_query($sql);
    $numRows = mysql_num_rows($result);
    if($numRows==1) {
        session_start();
        $_SESSION["username"] = $username;
        header("Location: ./profile.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.php

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

$username = $_SESSION["username"];

$sql = "SELECT * FROM members WHERE username='$username'";
$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 :(得分:1)

你应该先尝试自己,帮助就在这里。使用select语句和打印名字的数据库连接 http://www.w3schools.com/php/php_mysql_select.asp
http://www.tutorialspoint.com/mysql/mysql-select-query.htm

答案 2 :(得分:0)

假设您的用户具有用户ID(uid),您应该能够从数据库中获取相对于他们所说的'uid'的信息。

示例查询类似于:

SELECT firstname, lastname, email FROM `users` WHERE `id` = 'UID_HERE';

如果你的桌子有名字,姓氏&amp;电子邮件中的字段/列。

绝对考虑使用Mysqli来完成所有数据库工作,因为不再开发mysql_。

答案 3 :(得分:0)

修改您的查询

$sql = 'SELECT id_user, email, name, username
          FROM members';

$sql = "SELECT id_user, email, name, username
          FROM members where id_user = '$dbuser'";