-
[HustOJ] 아이디에 '-'가 포함된 경우 사용자 정보 불러오지 못하는 오류 해결하기유틸리티/HustOJ 2023. 8. 18. 08:31728x90
HustOJ에서 사용자 ID에 '-'가 포함된 경우에는 No such User! 라는 메시지를 출력하며, 사용자의 정보를 불러올 수 없는 오류가 있다.
이는 사용자 ID가 올바른지 검사하는 로직에서 사용자 ID의 범위를 a ~ z, A ~ Z, 0 ~ 9, _ 로 제한하고 있기 때문이다.
따라서 해당 로직을 수정하면 해결된다.
1. HustOJ가 설치된 경로에서 src/web/include 경로로 이동한다.
cd ../../ cd /home/judge/src/web/include/
2. my_func.inc.php를 열어 해당 로직을 아래와 같이 값을 수정한다.
function is_valid_user_name($user_name){ $len=strlen($user_name); for ($i=0;$i<$len;$i++){ if ( ($user_name[$i]>='a' && $user_name[$i]<='z') || ($user_name[$i]>='A' && $user_name[$i]<='Z') || ($user_name[$i]>='0' && $user_name[$i]<='9') || $user_name[$i]=='_'|| ($i==0 && $user_name[$i]=='*') ); else return false; } return true; }
function is_valid_user_name($user_name){ $len=strlen($user_name); for ($i=0;$i<$len;$i++){ if ( ($user_name[$i]>='a' && $user_name[$i]<='z') || ($user_name[$i]>='A' && $user_name[$i]<='Z') || ($user_name[$i]>='0' && $user_name[$i]<='9') || ($user_name[$i]=='_' || $user_name[$i]=='-') || ($i==0 && $user_name[$i]=='*') ); else return false; } return true; }
수정 후 저장하고 사용자 정보를 누르면 제대로 출력됨을 알 수 있다.
728x90댓글