原本以为是服务器环境问题一直没管 今天重写 猜测与封装函数嵌套有关

修改app.php文件login()函数为:

function login($file,$ps,$ls){
  global $webpass;
  if (md5(md5(KEY.$ps)) === $webpass) {
        $_SESSION[KEY.'admin'] = 1;
        $_SESSION[KEY.'group'] = 1;
        header('Location:' . $file);
    } else {
        header('Location:' . $file . '?act=login&l='.$ls);
    }

}

webmenu()为

function webmenu(){
  $menu = array('add'=>'发布','set'=>'设置','wid'=>'边栏','logout'=>'退出');
  global $webmenu,$admin,$file,$widget,$set; 
  echo $webmenu;
  if ($admin === 0) {
  	if ($set['lstr']=='') {
  		echo '<li><a href="'.$file.'?act=login">登录</a></li>';
  	}
  }else{
  	foreach($menu as $k=>$v){
	if ($widget=="0" && $k=='wid') continue;
      echo '<li><a href="'.$file.'?act='.$k.'">'.$v.'</a></li>';
	}
  }
}

并在最后新增

if (!empty($set['lstr'])) {
	$loginval = $_SERVER['QUERY_STRING'];
	if ($loginval == $set['lstr']) {
		header('Location:' . $file.'?act=login&l='.$loginval);
	}
}