我正在尝试创建一个帐户页面,用户可以在注册页面上查看他们输入网站的信息。我只希望它显示当前登录用户的信息。
这是我迄今为止所拥有的,但它不起作用
<?php
include_once('DBconnect.php');
$sql= "SELECT * FROM users WHERE username='".$username."'";
$res = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_assoc($res)){
$username = $row['username'];
$firstname = $row['first_name'];
$lastname = $row['last_name'];
$email = $row['email'];
$school = $row['school'];
$topics .= "<tr><td>username:".$username." </td><td>First name:".$firstname."</td><td>Last name:".$lastname."</td><td>email: ".$email."</td><td>school: ".$school."</td></tr>";
echo $topics;
} ?>
答案 0 :(得分:0)
尝试将mysql_fetch_assoc()封装在一个返回数组结果集的函数中,如下所示:
function populate_array($res) {
while ($row = @mysql_fetch_assoc($res) {
$result_array[] = $row;
}
return $result_array;
}
然后使用for循环迭代结果集,如下所示:
$result = populate_array($res);
$sets = count($result);
for($i=0;$i<$sets;$i++) {
$topics .= $result[$i]['username'] . $result[$i]['firstname'] . $result[$i]['lastname']; // continue
}
echo $topics;
答案 1 :(得分:0)
您的变量$username
来自哪里?你的代码似乎很好。你有任何错误吗?您可以做出一些改进:
您可以尝试添加:
if (!$res) {
echo "Could not successfully run query ($sql) from DB: " . mysql_error();
exit;
}
if (mysql_num_rows($result) == 0) {
echo "No rows found";
exit;
}
看看你是否收到错误
编辑:
您的用户名通常来自您的表单,或者用户已经从$_SESSION[]
Global登录。但是,如果用户已登录,您可以更好地将所有信息存储到会话中,这样您就不必始终从数据库中请求该信息。
如果用户成功登录,则必须致电$_SESSION['username'] = $username;
然后在此页面中,您可以拨打$username = $_SESSION['username'];
不要忘记在每个使用会话的页面上调用session_start();
答案 2 :(得分:0)
你需要在会话中给你打电话$ username,试试下面的代码:
<?php
include_once('DBconnect.php');
$username = $_SSESSION['username'];
$sql= "SELECT * FROM users WHERE username='".$username."'";
$res = mysql_query($sql) or die(mysql_error());
while ($row = mysql_fetch_assoc($res)){
$username = $row['username'];
$firstname = $row['first_name'];
$lastname = $row['last_name'];
$email = $row['email'];
$school = $row['school'];
$topics .= "<tr><td>username:".$username." </td><td>First name:".$firstname."</td><td>Last name:".$lastname."</td><td>email: ".$email."</td><td>school: ".$school."</td></tr>";
echo $topics;
} ?>