登录后向客户端显示MySQL数据 [英] Displaying MySQL data to clients once they log in
问题描述
我已经尝试了许多代码组合,尝试在他们登录后在他们自己的个人资料页面上向他们展示我的客户数据。
这是我第一次设计一个网站,我从来没有使用MySQL之前,但我已经开发了一个快速了解它是如何工作的。
据我所知,我需要创建会话'store'他们的信息,当他们登录,然后我可以显示它,我希望?
有人有我可以使用的任何代码吗?
My SQL信息:
- db:taxretur_login
- li>
方面我想展示:
Stan。
更新:
这段代码起作用并将我所有的表格信息用户页面,但我只想要那些特定用户的唯一数据:
<?php
$ dbhost ='localhost ;
$ dbuser ='';
$ dbpass ='';
$ conn = mysql_connect($ dbhost,$ dbuser,$ dbpass);
if(!$ conn)
{
die('无法连接:'。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()); ($ row = mysql_fetch_assoc($ retval))
{
echo'用户ID:{$ row ['id_user']}< br>。
电子邮件:{$ row ['email']}< br>。
名称:{$ row ['name']}< br>。
用户名:{$ row ['username']}< br>。
--------------------------------< br>;
}
回显已成功提取数据\;
mysql_close($ conn);
?>
在数据库中创建成员表
b$ b pre $
CREATE TABLE`members`(
`id` int(11)NOT NULL AUTO_INCREMENT,
`username` char )NOT NULL,
`name` char(30)NOT NULL,
`email` char(40)NOT NULL,
`pass` char(20)NOT NULL,
PRIMARY KEY(`id`)
);
将用户添加到表格成员中
<$ p INSERT INTO`members` VALUES('1','user1','mr。x','email@domain.com','123'); $ p>
只需在页面中将您的mysql用户更改connection.php
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无效的登录信息;
}
}
?>
< form action =<?php echo $ _SERVER ['SCRIPT_NAME'];?>方法= POST >
< table>
< tr>< td>用户名< / td>< td>< input type =textname =username/>< / td>< / tr>
< tr>< td>密码< / td>< td>< input type =passwordname =pass/>< / td>< / tr>
< tr>< td>< / td>< td>< input type =submitname =submitvalue =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>用户名< / td>< td>:< / td>< td> $ username< / td>< / tr>
< tr>< td>名称< / td>< td>:< / td>< td> $ name< / td>< / tr>
< tr>< td>电子邮件< / td>< td>:< / td>< td> $ email< / td>< / tr>
< ; / table>
;
}
?>
I have tried numerous combinations of code to try and display my client data to them on their own profile page once they log in.
This is my first time designing a website and i have never worked with MySQL before but i have developed a quick understanding of how it all works.
I understand that i need to create sessions to 'store' their information when they log in then i can display it as i wish ?
Does anyone have any code that i could use?
My SQL info:
- db: taxretur_login
- table: members
aspects i would like to show:
- name
- username
Thanks. Stan.
UPDATE:
This code works and pulls all my table info accross to a users page but i only want data unique to that paticular user:
<?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);
?>
Create members table in your database
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`)
);
Add an user into table members
INSERT INTO `members` VALUES ('1', 'user1', 'mr. x', 'email@domain.com', '123');
Just change the variable as your mysql user in page connection.php
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>
";
}
?>
这篇关于登录后向客户端显示MySQL数据的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!