在这里构建一个Web应用程序。身份验证php代码如下所示(请暂时忽略威胁):
<?php
session_start();
if(isset($_POST['submit']))
{
mysql_connect('localhost','*****','******') or die(mysql_error());
mysql_select_db('cl29-demodb') or die(mysql_error());
$name=$_POST['name'];
$pwd=$_POST['password'];
if($name!='' && $pwd!='')
{
$query=mysql_query("select * from EmployeeTable where EmployeeName ='".$name."' and password='".$pwd."'") or die(mysql_error());
$res=mysql_fetch_row($query);
if($res)
{
$_SESSION['id']=$res['id'];
header('location: profileindex.php');
}
else
{
echo "user name and password are incorrect" ;
echo "<a href=index.php> click here to go back </a>";
}
}
if(!isset($_SESSION['id'])){
echo "Sorry, Please login and use this page";
exit;
}
}
?>
&#13;
我能够成功登录并访问用户的个人资料。但我希望个人资料只显示各个用户的信息。个人资料如下所示:
我已经编写了php来分别检索名称,名称,每周积分,总积分,每周排名和总排名。
我试图在html中回显变量。 但是我无法这样做。它不会提取任何数据。我在表格中列出了所有上述字段。
请帮助。
答案 0 :(得分:3)
可能是这个原因
mysql_fetch_row()
返回数字数组,您正在访问$res['id']
将mysql_fetch_row
替换为mysql_fetch_array
或尝试使用您的ID的数字索引
$_SESSION['id']=$res[0]; or $_SESSION['id']=$res[1];
答案 1 :(得分:0)
使用mysqli_fetch_assoc以便您可以按名称调用列,如果您使用的是mysql_fetch_array,则应按索引调用列,而不是列名称。
答案 2 :(得分:-1)
由于会话已在登录页面中启动,因此无需再次在profileindex.php中启动会话。
打印sql并在后端运行它以检查是否获得了所需的结果,以便进一步调试它。