我尝试过多种代码组合,一旦登录就尝试在自己的个人资料页面上显示我的客户数据。
这是我第一次设计一个网站,之前从未使用过MySQL,但我已经快速了解了它是如何工作的。
据我所知,我需要创建会话以在他们登录时“存储”他们的信息,然后我可以按照我的意愿显示它?
有没有人有我可以使用的代码?
我的SQL信息:
方面我想表明:
感谢。 斯坦。
更新:
此代码可以工作并将所有表格信息提取到用户页面,但我只想要该特定用户的数据:
<?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);
?>
答案 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'";