当我获取行时,它不获取数组我想知道我是否想要在会话中显示用户名我应该做什么。这是我正在检查用户名的代码,如果找到用户名,则返回用户名但无法显示。
请帮助我或建议我更好的方法。谢谢。 错误代码:功能
public function Check_login($uname,$pass)
{
//echo $uname;
$check=mysql_query("select name from user where name='$uname' and password='$pass'");
$log=mysql_fetch_row($check);
$abc=mysql_fetch_array($check);
echo $abc['name'];
if($log>0)
{
$_SESSION['login']=1;
echo $_SESSION['name']=$abc['name'];
return $_SESSION['name'];
}
else
{
return false;
}
主页:
<?php
session_start();
include('function.php');
$user=new user();
if(!$user->get_session())
{
header("location:index.php");
}
if($_GET['q']=='logout')
{
$user->logout();
header("location:index.php");
}
?>
这里是html代码:
<h1>All Information</h1>
Welcome<?php echo $_SESSION['name']; ?></br>
<a href="?q=logout">Logout</a>`enter code here`
答案 0 :(得分:0)
$check=mysql_query("select name from user where name='$uname' and password='$pass'");
session_start();
$abc = array();
if(mysql_num_rows($check) > 0){
$abc=mysql_fetch_array($check);
if(count($abc)>0)
{
$_SESSION['login']=1;
echo $_SESSION['name']=$abc['name'];
return $_SESSION['name'];
}
}
else
{
return false;
}
我认为这将解决您的问题..用此更改您的代码..
答案 1 :(得分:0)
对于初学者,我强烈建议使用预准备语句而不是仅仅将用户名/密码丢入查询中。您可以将用户名和密码作为参数绑定到查询中,并防止任何类型的SQL注入。您还可以绑定返回到结果的名称,以便于访问。