1.COOKIE
       PS.发现PHPWIND论坛直接调用logion.php页面进行验证
   
    在PHP页面中 做好表单,表单的名字参照论坛表单,并更换表单的转向页面
  原表单如下:
<form action="login.php?" method="post" name="login"  onSubmit="this.submit.disabled=true;">  //表单传送处理页面 logion.php
  <input type="text" maxLength="20" name="pwuser" size="40" tabindex="1"> 
  <input type="password" maxLength="20" name="pwpwd" size="40" tabindex="2">
  <input type='text' maxLength=4 name='gdcode' size=8 tabindex="3">
隐身登录
  <input name=hideid type=radio value='1'>          是 
  <input name=hideid type=radio value='0' checked tabindex="4">  否 
Cookie 有效期:
  <input type='radio' name='cktime' value='31536000'  checked tabindex="5"> 一年
  <input type='radio' name='cktime' value='2592000' > 一个月 
  <input type='radio' name='cktime' value='86400'>一天 
  <input type='radio' name='cktime' value='3600'>一小时
  <input type='radio' name='cktime' value='0'> 即时
  <input name='submit' type='submit' value='提 交' tabindex="6">
  <input type='hidden' value='$jumpurl' name='jumpurl'> //转向页面 请更换此处
  <input type='hidden' value='2' name='step'>
</form> 这样可实现同步

解决方案 »

  1.   

    1.COOKIE 补充 
       如果你还在要PHP页面中增加验证什么的 比如,当前是否验证过,
       没验证显示验证页面,验证后显示用户信息,可以在 logion.php页面中添加一个COOKIE用来记录,然后在PHP页面中进行 If ,就可以了! 原代码:
    <?php
    require_once('global.php');!($pre_url=$_SERVER['HTTP_REFERER']) && $pre_url = $db_bfn;if(strpos($pre_url,'login.php')!==false || strpos($pre_url,'register.php')!==false) {
    $pre_url = $db_bfn;
    }
    if ($groupid!='guest' && $action!="quit"){
    Showmsg('login_have');
    }
    list(,$logingd)=explode("\t",$db_gdcheck);if (!$action) $action="login";
    if ($action=="login"){
     
    if (!$step){
    $jumpurl=$pre_url;
    require_once(R_P.'require/header.php');
    require_once(PrintEot('login'));footer();
    } elseif($_POST['step']==2){
    $logingd && GdConfirm($gdcode);
    require_once(R_P.'require/checkpass.php');
    include_once(D_P."data/bbscache/dbreg.php"); unset($hp);
    if($pwuser && $pwpwd){
    $pwpwd=md5($pwpwd);
    list($winduid,$groupid,$pwpwd)=checkpass($pwuser,$pwpwd);
        
                    setcookie("user_name","$pwuser",time()+$cktime);  //这里是新加的代码,用来记录COOKIE

    } else{
    Showmsg('login_empty');
    }
    if(file_exists(D_P."data/groupdb/group_$groupid.php")){
    require_once(D_P."data/groupdb/group_$groupid.php");
    }else{
    require_once(D_P."data/groupdb/group_1.php");
    }
    $windpwd = $pwpwd;
    $cktime != 0 && $cktime += $timestamp;
    Cookie("winduser",StrCode($winduid."\t".$windpwd),$cktime);
    Cookie('lastvisit','',0);
    if($db_autoban){
    require_once(R_P.'require/autoban.php');
    autoban($winduid);
    }
    $gp_allowhide && $hideid==1 ? Cookie('hideid',$hideid,$cktime) : Loginipwrite($winduid);
    empty($jumpurl) && $jumpurl=$db_bfn;
    refreshto($jumpurl,'have_login');
    }
    } elseif($action=="quit"){
    require_once(R_P.'require/checkpass.php');

             setcookie("user_name","",time()-$cktime);  //这里是新加的代码用来退出删除COOKIE if($groupid=='6'){
    $bandb=$db->get_one("SELECT type FROM pw_banuser WHERE uid='$winduid'");
    if($bandb['type']==3){
    Cookie('force',$winduid);
    }
    }
    Loginout();
    refreshto($pre_url,'login_out');
    }
    ?>然后在PHP页面 IF COOKIE就可以了
      

  2.   

    2.SESSION
      
      同理,和上面COOKIE一样  只不过新加的代码换成SESSION 就可以了
     setcookie("user_name","$pwuser",time()+$cktime);  //这里是新加的代码,用来记录  setcookie("user_name","",time()-$cktime);  //这里是新加的代码用来退出删除COOKIE   另外,记开要开启SESSIONPHP页面也是一样    
          好完成()