CI 묻고 답하기

제목 게시판 글 수정시 작성자만 수정되게 하려합니다(자답)
글쓴이 거친보노보노 작성시각 2013/12/04 10:57:43
댓글 : 1 추천 : 0 스크랩 : 0 조회수 : 12695   RSS

 우선 간략하게 설명드리자면 게시판에서 글 수정시

세션네임과 글작성자를 비교해서 같으면 삭제하고 아니면 오류메세지를 띄울려고 합니다.

우선 게시판 글을 수정을 하게 되면 수정이 됩니다.

하지만 수정 후에 다시 한번더 수정을 하려면 수정이 되지 않고 오류 메세지를 띄웁니다.


function modify()

{

   // model, library는 필요할때만,

   $this->load->model('simpleboard_model');

   $data['page_num'] = $this->uri->segment(3,0);

   $data['result'] = $this->simpleboard_model->get($data['page_num']);  


   if ( ! $data['result'] ) //FALSE : 디비에 아무것도 검색이 되지 않을 때

   { 

      $data['message'] ='자료가 없습니다.';

      $this->load->view('board/alertview',$data);

   } 

   else //TRUE

   {  

      // 글작성자와과 세션네임이 같으면 수정페이지로 넘어감 

      if($this->session->userdata['username'] == $data['result']->name ){  // 이부분이 오류인듯 합니다. 

         $this->load->view('header_view');

         $this->load->view('board/modifyview', $data);

         $this->load->view('footer_view');

      }
      else{

         $data['message'] ='작성자만이 수정할 수 있습니다.';

 

         $this->load->view('board/alertview',$data);

      }

   }

}


위에서 모델 부분의 get function은 아래와 같습니다.


function Get($tno) {

   $this->db->select('*');

   $this->db->from('simpleboard');

   $this->db->where('seq',$tno);  // seq 는 idx

   $result = $this->db->get();

   if ( $result->num_rows() > 0 )

   {

      $data = $result->result();

      return $data[0];  

   }

   else

      return FALSE;  
}




 if($this->session->userdata['username'] == $data['result']->name )
이 소스가 아무래도 오류인듯한데 첫번째 수정에는 TRUE로 되어 잘 수행이 됩니다. 하지만 수정된 글을 다시하면 수정하게되면
FALSE를 반환하게 되는 것 같아서 어떠한 문제인지 모르곘습니다.

시나리오는 게시판 글 선택 -> 수정-> 완료 -> 다시 수정 -> 작성자만이 수정할수 있습니다. 라는 오류 표기

어제부터 계속 고민했는데 해결이 되지 않아 도움을 요청합니다.

감사합니다!



 다음글 디비에서 select 등을 통해 얻어진 모든 rows ... (3)
 이전글 게시판 구현 중 에러ㅠㅠ (7)

댓글

거친보노보노 / 2013/12/04 11:09:14 / 추천 0
우선 오류는 발견했습니다.
그런데...
소스에는 이상이 없고 View  부분에서 작성자를 불러올때  space가 추가되어서 오류가 났던 것이었습니다.
먼가 허무합니다.시간소비를..그렇게 많이했는데..

아무튼 죄송합니다!!