hye伙计们.. 我有一个问题,我没有知道错误 我有验证页面,它检查组以识别用户 如果该组是管理员,则会显示管理页面.. 如果该组是用户,则会显示用户页面。 情况:当我插入用户名和密码时,验证页面显示空白页面...我不知道代码有什么问题... plz guys..help me ..
这是代码:
<?php
session_start();
if($_POST['id']!=null && $_POST['pass']!=null){
$username=$_POST['id'];
$password=$_POST['pass'];
$link=@mysql_connect('localhost','root')
or die("Could not connect".mysql_error());
if (!@mysql_select_db("fyp",$link)){
echo mysql_error();
}
$db_select = mysql_select_db('fyp',$link);
if (!$db_select) {
die("Database selection failed: " . mysql_error());
}
$sql="SELECT * from access where username='".$username."' AND password='".$password."'";
$result=mysql_query($sql);
if(!$result){
die(mysql_error());
}
$numrecord=mysql_num_rows($result);
if($numrecord>0){
if($group=="admin" ){
$_SESSION['id']=$username;
$_SESSION['pass']=$password;
$_SESSION['group'] = $row['group'];
mysql_close($link);
header("Location:adminpage.php");
}
elseif($group=="user"){
$_SESSION['id']=$username;
$_SESSION['pass']=$password;
$_SESSION['group'] = $row['group'];
mysql_close($link);
header("Location:userpage.php");
}
}
else{
mysql_close($link);
header("Location:login.php?error=2");
}
}
else{
header("Location:login.php?error=1");
}
?>
答案 0 :(得分:0)
您没有使用mysql_fetch_array
或其他函数来实际从数据库中获取行。试试这个:
$numrecord=mysql_num_rows($result);
if($numrecord>0){
$row = mysql_fetch_array($result); ////////////
$group = $row['group'];
if($group=="admin" ){
$_SESSION['id']=$username;
$_SESSION['pass']=$password;
$_SESSION['group'] = $row['group'];
................
此外,您需要在查询中使用mysql_real_escape_string
函数以避免安全问题。