하반기 부터 php7.4 미만은 안녕이라는 공지를 보고

올리는 김에 php8.2 올리자 해서 서버 세팅하고 

바뀌는 php 버전에 맞춰 이것 저것 수정하고 있었는데

 

다른 페이지에서는 이상없는데

읽기 페이지에서 로그인 또는 회원가입을 클릭하면 이동이 안되고 있습니다.

검색을 해 보면 비슷한 경험을 하신 선배님들이 있었던거 같은데

미묘하게 다른 케이스라 해결책을 못찾고 있습니다.

 

로그인은 {getUrl('act', 'dispMemberLoginForm')}

회원가입은 {getUrl('act', 'dispMemberSignUpForm')}

을 사용하고 있습니다.

소스를 보면 링크는 해당 메뉴로 제대로 뜨고 있는데 클릭하면 제자리 걸음만 하네요.

 

방법이 없을까요?

  • Lv36

    PHP 버전과는 관계없습니다. 예전에 만들어진 레이아웃들이 로그인/회원가입 링크에서 document_srl을 빼지 않아서 일어나는 현상입니다. 레이아웃에 따라서는 7.4에서도 종종 보고되는 문제인데, 대부분의 회원들은 메인화면에서 로그인을 하니까 몇 년째 눈치채는 사람이 거의 없었을 뿐...

     

    {getUrl(['mid' => $mid, 'act' => 'dispMemberLoginForm'])}

    {getUrl(['mid' => $mid, 'act' => 'dispMemberSignUpForm'])}

     

    이렇게 바꾸시면 됩니다. 명시적으로 선언한 mid와 act를 제외한 변수들은 모두 제거하고 로그인/회원가입 링크를 생성하라는 뜻입니다.

     

    변수를 초기화하지 않고 덧붙이기만 하는 URL 생성 방식은 모두 퇴출 대상입니다. 특히 어떤 화면에서 사용할지 모르는 레이아웃에서 그렇게 하면 큰일나요. 게시판에는 document_srl, comment_srl, page, 검색어 등 잡다한 변수가 많이 붙어 있어서, 거기에 단순히 act만 추가하면 무엇을 요청하는 것인지 혼란스럽거든요.

  • ? Lv8
    {getUrl('','act', 'dispMemberLoginForm')} 이렇게 제일 앞에 '', 를 붙여셔도 초기화됩니다
  • Lv3

    오 감사합니다.

    적용해 보니 잘되네요. ^^

    두분 다 감사드립니다.

  • Lv3

    요건 혹시나 해서 남겨 봅니다.

    https://www.orangeday.com/free/446 , php7.1 , 링크잘됨

    https://rhymixyabi.mycafe24.com/board4/235 , php8.2 , 링크 안됨 (현재 수정해서 잘됨)

    같은 레이아웃, 게시판스킨 사용중이고 차이는 php 버전입니다. 

    잘 되서 해결 된거 같기는 한데 뭔가.. 7.1에서는 왜 작동되는 건지 모르겠네요.