채택완료

레벨 올리는 함수인데요 레벨업이 안되는데요 왜그럴까요??

Copy
function gainEXP( $gain ){
    session_start();
    $email=$_SESSION["ss_email"];

    $query = "select * from t1_members where email='$email' limit 1";
    $result = mysql_query ($query);
    $rows = mysql_fetch_array($result);
    
    $Exp += (int)$rows['exp'];
    $MaxExp = (int)$rows['maxExp'];
    $Remain = (int)$rows['remain'];

    $Exp += (int)$gain;
    if($Exp >= $MaxExp){
        $Remain = (int)$Exp - (int)$MaxExp;  //remain 1레벨 총량
        LevelUp($Remain);
    }
    
    $Remain += (int)$rows['exp'];

    //insert_point($member['mb_id'], -$sumpoint2, $content, $rel_table='', $rel_id='', $rel_action='', $expire=0);
    $sql = " update t1_members set exp='$Exp', maxExp='$MaxExp', remain='$Remain' where email='$email'";

    //exit;
    $row = mysql_query($sql);
    mysql_error();
    //die( "mysql connect error : " . mysql_error() );    
}


function LevelUp( $remainingEXP){
    session_start();
    $email=$_SESSION["ss_email"];

    $query = "select * from t1_members where email='$email' limit 1";
    $result = mysql_query ($query);
    $rows = mysql_fetch_array($result);
    
    $Exp = (int)$rows['exp'];
    $MaxExp = (int)$rows['maxExp'];
    $Remain = (int)$rows['remain'];
    $Level = (int)$rows['level'];
    
    $Exp = 0;
    $Exp += (int)$remainingEXP;
    $Level++;
    $MaxExp = 1.25 * (int)$MaxExp;

    $sql = " update t1_members set level ='$Level', exp='$Exp', maxExp='$MaxExp', remain='$Remain' where email='$email'";
    $row = mysql_query($sql);
    gainEXP(0);

    mysql_error();

}

레벨 올리는 함수인데요 레벨업이 안되는데요 왜그럴까요??

|

답변 2개 / 댓글 2개

채택된 답변
+20 포인트
2022-06-19 (일) 17:30:24

에러 메시지 출력이 없나요?

답변에 대한 댓글 1개

별다른 에러 출력없이 안되더라구요

세션값을 이메일로 해서 sql조건절을 주신거 같은데..

세션값을 한번 확인해보시기 바랍니다. 세션에서 이메일이 정상적으로 set되었는지가 변수일듯 하네요.

답변에 대한 댓글 1개

세션값을 잘 출력되더라구요

답변을 작성하려면 로그인이 필요합니다.