2013-04-18 25 views
-1

我有一个用户和管理员的登录表单,我希望我的用户在他们登录后有名字迎接。从php数据库名字登录表格

我有一个表叫有以下的列IDusernamepasswordadminfname用户,lname

我有如下的登录脚本代码,并想如果你们/加仑可以为提供任何帮助我很新的PHP

//Connect to db 
include("conndb.php"); 
session_start(); 
//Get variables from login form 
$username = $_POST['username']; 
$password = $_POST['password']; 
echo $username; 
echo $password; 
$password = MD5($password); 

//query to find if user and password exist and match the password. 
$query = "SELECT username, admin FROM users WHERE (username = '$username' AND password  
= '$password')"; 
$result = mysql_query($query) 
or die (mysql_error($connect)); 

if (mysql_num_rows($result) !=1) { 
$_SESSION['loginfail'] = 1; 
header ('location: index.php'); 
}      

elseif (mysql_num_rows($result) ==1) 
{ 
// check for admin flag 

$a = mysql_fetch_array($result); 

if ($a[admin] == Y) 
{ 
$_SESSION['admin'] = 1; 
header('location: admin.php'); 
} 
else 
{ 
$_SESSION['user'] = $fname; 
header('location: index2.php'); 
} 

} 
+0

哇,你至少有三样东西!很高兴听到! –

+1

问号缺少我猜你的帖子;) – swapnesh

+0

**什么**是你的问题? – Jocelyn

回答

1

更改为

if ($a[admin] == Y) 
{ 
    $_SESSION['admin'] = 1; 
    $_SESSION['username'] = $a['username']; 
    header('location: admin.php'); 
} 
else 
{ 
    $_SESSION['user'] = 1; 
    $_SESSION['username'] = $a['username']; 
    header('location: index2.php'); 
} 

现在使用$ _SESSION ['username']在您的网页上显示用户名。

+0

谢谢你解决了我的问题 – Cirustus

+0

对不起还在学习如何使用本站:D – Cirustus

+0

没问题快乐编码。 :) –

0

您需要将usernameid保存到会话($_SESSION)和admin.php,你需要查询用户的fname,并用它accoridingly

0

你可能没有启动会话index2.php。因此,通过在页面顶部添加以下行开始您的会话。

session_start(); 

而且改变代码的最后部分如下:

$_SESSION['username'] = $a['username']; 
if ($a['admin'] == 'Y') { 
    $_SESSION['admin'] = true; 
    header('location: admin.php'); 
}else{ 
    $_SESSION['user'] = true; 
    header('location: index2.php'); 
}