解决方案 »

  1.   

    1、你的传统代码不会抛出异常,所以你的异常处理是无效的,可以删去。或许就是他的原因
    2、url 跳转宜使用绝对路径
    location="/index.php"
      

  2.   

       Js 脚本没反应。在登录成功代码里加了一个alert 
    if ($arr && $arr['sys_user_passwd'] == generateUserPassword($password)) {
    $_SESSION[SESSIONUSER] = $username;
    echo '<script language=javascript>alert("验证成功")</script>';
    echo '<script language=javascript>window.location="../index.php"</script>';
    }else {
    echo "<script language=javascript>alert('用户名或密码不正确,请重新输入!'); window.location='../login.php'</script>";
    exit(0);
    }效果是:
    点击确认后,重新回到登录界面了
      

  3.   

    文件名大小写一致么?windows默认是不区分大小写的,linux是区分大小写的。另外,你直接访问那个php,看是否能访问?
    或者,你些一个静态的html文件,放到 loginin.php 相同位置,把 loginin.php里面的js拷贝进去测试,看能否正常跳转?
     
      

  4.   

    重新回到登录界面 不一定是你没有跳转到index.php,有可能是你的session没有注册成功,到index.php又转到login.php了。
      

  5.   

    你在index.php最前面放置一些输出信息,看是否有访问过index.php
      

  6.   

    設log看看程序走到哪裡,再確定問題。//user login
    if (isset($_POST['username']) && isset($_POST['password'])
            && !empty($_POST['username']) && !empty($_POST['password'])
    ) {    echo '1';    try{
        $username = $_POST['username'];
        $password = $_POST['password'];
        $rs = $config[DAOIMPL]->getLoginByName($username);
        $arr = mysql_fetch_array($rs);
        //echo $arr['sys_user_passwd'];    echo '2';    if ($arr && $arr['sys_user_passwd'] == generateUserPassword($password)) {
            $_SESSION[SESSIONUSER] = $username;        echo '3';        echo '<script language=javascript>window.location="../index.php"</script>';//跳转到根目录下的index.php
        }else {        echo '4';        echo "<script language=javascript>alert('用户名或密码不正确,请重新输入!'); window.location='../login.php'</script>";
            exit(0);
        }
        }
        catch (Exception $e){
            echo '5';        echo "<script language=javascript>alert('".$e."'); window.location='../login.php'</script>";
            exit(0);
        }
    }
      

  7.   


    根据你的意见,我把代码做了修改,但还是不能跳转,登录成功后返回到了登录界面if (isset($_POST['username']) && isset($_POST['password'])
    && !empty($_POST['username']) && !empty($_POST['password'])
    ) {
    //try{
    $username = $_POST['username'];
    $password = $_POST['password'];
    $rs = $config[DAOIMPL]->getLoginByName($username);
    $arr = mysql_fetch_array($rs);
    //echo $arr['sys_user_passwd'];
    if ($arr && $arr['sys_user_passwd'] == generateUserPassword($password)) {
    $_SESSION[SESSIONUSER] = $username;
    echo '<script language=javascript>alert("验证成功")</script>';
    echo '<script language=javascript>window.location="/cloudsong/index.php"</script>';
    }else {
    echo "<script language=javascript>alert('用户名或密码不正确,请重新输入!'); window.location='/cloudsong/login.php'</script>";
    //exit(0);
    }
    //}
    //catch (Exception $e){
    //echo "<script language=javascript>alert('".$e."'); window.location='../login.php'</script>";
    //exit(0);
    //}
    }
      

  8.   

    有可能是你的session没有注册成功,到index.php页面之后,判断没有登录,又往登录界面跳转了。你先屏蔽index.php的跳转功能试试看。
      

  9.   

    if (isset($_POST['username']) && isset($_POST['password']) && !empty($_POST['username']) && !empty($_POST['password'])) {
      $username = $_POST['username'];
      $password = $_POST['password'];
      $rs = $config[DAOIMPL]->getLoginByName($username);
      $arr = mysql_fetch_array($rs);
      if ($arr && $arr['sys_user_passwd'] == generateUserPassword($password)) {
        $_SESSION[SESSIONUSER] = $username;
        echo '<script language=javascript>alert("验证成功")</script>';
        echo '<script language=javascript>window.location="/cloudsong/index.php"</script>';
      }else {
        echo "<script language=javascript>alert('用户名或密码不正确,请重新输入!'); window.location='/cloudsong/login.php'</script>";
      }
    }如果登录成功,会弹出“验证成功”对话框,你有吗?
      

  10.   


    session已经设置成功,屏蔽掉index.php的跳转后,程序就停在了logininphp
      

  11.   


    session已经设置成功,屏蔽掉index.php的跳转后,程序就停在了logininphp从你贴出来的loginin.php代码和运行情况来看,是不可能往 录界面跳转 跳转的,对吧? 屏蔽掉index.php的跳转后,程序就不再往登录界面跳转,这也就说明了一些问题。你再在index.php最前面输出一些信息,看看情况如何?
      

  12.   

    那就是你没有 session_start() 了
      

  13.   

    问题初步判断确实是出在我session 检查的代码里,谢谢大家帮忙分析!