CI 묻고 답하기

제목 post 로 전달 받아서 DB 에서 빼오기 질문
글쓴이 시아라 작성시각 2013/07/26 01:16:58
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 13544   RSS
안녕하세요. 참 기본적인 질문인데 php 기본이 약한지 잘 안되는듯 해서 도움좀 받고자 합니다.

View 에서 post로 제품 번호를 받아오면, 그걸로 db의 n_table 에서 해당 아이디의 제품을 꺼내오는 연습을 해보고 있습니다.

소스는,, 
컨트롤러에서 
           $value = $this->input->post('Submit'); // 제품번호(일반 숫자) 넣는 뷰에서 받아옴.
 
            $this->db->select('*');
            $this->db->from('n_table');
            $this->db->where('id', $value); // 이부분이 골치

            $data['query'] = $this->db->get();
            $this->load->view('arg_practice_v', $data);
 
 
이렇게 한다음에, view 에서 

    <? foreach($query->result() as $row) : ?>
        <?= $row->id ?>        // 제품번호
       <?= $row->desc ?>   // 제품설명
    <?endforeach?>

이렇게 했는데요, 

non-objective property 라고 뜨면서 로딩이 안됩니다.
그런데 위에 where 절에
$this->db->where('id', $value); 이 부분에 $value 부분에 코드를 그냥 대놓고 3 이라고 넣으면 
제품번호 3에 해당하는 정보를 잘 빼내옵니다. 그러니 달러마크 붙은 변수로 로딩이 안되고, 제가 원하는 구현이 안됩니다.

참 이걸 가지고 이리저리 해봐도 잘 안되던데요
여기서 그러면 post 로 받은 값을 빼오려면 어떻게 해야 될까요?
 다음글 profiler로 쿼리 검사했을때 공백쿼리가 시간을 잡... (1)
 이전글 컨트롤러 파일명 및 클래스명 정의 질문 (1)

댓글

risa / 2013/07/26 07:41:02 / 추천 0
일단

$value = $this->input->post('Submit',true);

해주시구요.

[설정에 xss 설정 해놓으셧다면 상관없지만 db 쿼리에 넣는 변수 값은 xss 필터 필수 입니다.
습관적으로 넣어주세요.]


$value 값을  var_dump($value); 로 찍어보세요.

정말로 값이 제대로 들어왔는지 확인 해보세요.


개인적인 추측입니다만... 전송한 post  이름이 name ='Submit' <- 이게 아니었을 가능성이 보이네요.
양승현 / 2013/07/26 08:16:28 / 추천 0
post로 넘어오는 값을 확인해보셔요 ^^ var_dump($_POST);
시아라 / 2013/07/26 11:18:46 / 추천 0
두분 정말 감사합니다. 확인해보니 변수명 햇갈렸는데 원인을 딴곳에서 찾고있엇네요.
감사합니다 !!