php中不能显示frameset

login_process.php:<?phpheader("content-type:text/html;charset=utf-8");session_start()... login_process.php:
<?php
header("content-type: text/html;charset=utf-8");
session_start();
require './class/config.php';

$email=trim($_POST['login_author']);
$password=$_POST['login_password'];
$code1=$_POST['code1'];

if(!($_SESSION['code']==$code1)){
header("location: login.php?err=2");
exit();
}

$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();
}
}
?>

default.php:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>后台管理系统</title>
<?php
session_start();
if(!empty($_SESSION['name'])){
exit();
}
?>
</head>
<frameset rows="70,*" cols="*" frameborder="no" framespacing="0">
<frame frameborder="no" src="top.php" name="top" />
<frameset rows="*" cols="180,*" frameborder="no" framespacing="0">
<frame frameborder="no" scrolling="yes" src="left.html" name="left" />
<frame frameborder="no" src="main.html" name="main" />
</frameset>
</frameset>
</html>

问题1.不能显示frameset:已经是同编码utf-8 嵌入的top.html,man.html,left.html 没有问题,只有切换成.html才能显示,但这样又不能嵌入php 代码,
问题2:我这两个文件有什么需要改进有更好的 安全和严谨 方面的改进?
问题1,2都有建议让我吸纳,加最高分
展开
 我来答
芒国谈运营
推荐于2017-09-14 · TA获得超过2055个赞
知道小有建树答主
回答量:730
采纳率:86%
帮助的人:204万
展开全部

这位朋友,你的问题可以如下方法决:

1、在frameset框架下,你忘记了一个标签的作用,即target,在此应该是将每个子页面的target属性设置成“target="main",即显示在你后台主框架右边最大的地方,这样就行了。另外,你既然是php的动态程序,建议统一为.php的文件名,方便操作。

2、你的代码问题,这样写不太好,代码不够健壮,以下做个示范。分开写:


(1)sessionCheck.php (验证是否用户已经登录,在需要的地方引用。)

<?php
session_start();
if(!empty($_SESSION['name'])){
header("location: login.php?err=2");//err2信息可以定义为未登录
exit(); 
}
?>

(2)err.php

<?php
  echo "错误的访问,请好好检查!"
?>

(3)loginProcess.php

<?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

<html>
<?phph require './inc/sessionCheck.php';?>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>后台管理系统</title>
</head>
<frameset rows="70,*" cols="*" frameborder="no" framespacing="0">
<frame frameborder="no" src="top.html" name="top" />
<frameset rows="*" cols="180,*" frameborder="no" framespacing="0">
     <frame frameborder="no" scrolling="yes" src="left.html" name="left" />
        <frame frameborder="no" src="main.html" name="main" />
    </frameset>
</frameset>
</html>

###########下面以1个框架下显示菜单项示例##########
假设有个admin_index.php (这个就是你登录成功后显示在main主框架下的页面),左边菜单只是个控制器作用。
左边菜单第1个按键是“后台首页”,那么对应链接应该是:
<a href="/admin_index.php" target="main">后台首页</a> [能否显示在框架,关键就在target属性],其它页面也是如此设置。

以上望采纳,谢谢!
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式