这位朋友,你的问题可以如下方法决:
1、在frameset框架下,你忘记了一个标签的作用,即target,在此应该是将每个子页面的target属性设置成“target="main",即显示在你后台主框架右边最大的地方,这样就行了。另外,你既然是php的动态程序,建议统一为.php的文件名,方便操作。
2、你的代码问题,这样写不太好,代码不够健壮,以下做个示范。分开写:
(1)sessionCheck.php (验证是否用户已经登录,在需要的地方引用。)
session_start();
if(!empty($_SESSION['name'])){
header("location: login.php?err=2");//err2信息可以定义为未登录
exit();
}
?>
(2)err.php
echo "错误的访问,请好好检查!"
?>
(3)loginProcess.php
header("content-type: text/html;charset=utf-8");
session_start();
require './inc/sessionCheck.php';
require './class/config.php';
$email=trim($_POST['login_author']);
$password=$_POST['login_password'];
$code1=$_POST['code1'];
if(isset($_POST) && $_POST['submit']='登陆'){//判断是否有提交且为登录验证
$email=@trim($_POST['login_author']);
$password=@$_POST['login_password'];
$code1=@$_POST['code1'];
if(!empty($email) || !empty($password) || !empty($code1)){ //判断提交值是否为空
if(!($_SESSION['code']==$code1)){
header("location: login.php?err=2");
exit();
}//这一步是防止已经登录情况下重复登录的情况
//满足上述所有条件后进行数据库查询,并进行用户名及密码验证
$sql="SELECT 'password,nickname,fg_status,mb_acc' FROM '".$table."' WHERE 'email'='".$email."' ";//假设数据表为$table,email是用户名,这一步是关键!!!
$res=mysql_query($sql,$conn);
//$res=$bw->selectOnly('password,nickname,fg_status','mb_acc','email ='."'".$email."'");
if($res){
if($res['password'] == $password){
if($res['fg_status']==1){//验证好的
$_SESSION['name']=$res['nickname'];
header("location: ./admin/default.php");
exit();
}else if($res['fg_status'] ==0){//没有验证
$_SESSION['email_name']=$email;
header("location: active_email.php");
exit();
}else if($res['fg_status']==2){
echo "你的账号已经被禁用:";
exit();
}
}else{
header("location: login.php?err=1");
exit();
}
}
}
}
else{//凡是不符合上述条件的都跳转到错误页面 err.php(这个可以自己定义)
header("location: err.php");
die();
}
?>
(4)default.php后台管理系统
###########下面以1个框架下显示菜单项示例##########
假设有个admin_index.php (这个就是你登录成功后显示在main主框架下的页面),左边菜单只是个控制器作用。
左边菜单第1个按键是“后台首页”,那么对应链接应该是:
后台首页 [能否显示在框架,关键就在target属性],其它页面也是如此设置。
以上望采纳,谢谢!