2011-10-31 3 views
0

제출할 때 전달할 검색 양식을 만들었습니다.Codeigniter 양식, 리디렉션 페이지 제출시

작동해야하는 방법은 사용자가

내 조사 결론에 나하자가 그들이 양식이 다음 /검색/$ 키워드로 전달됩니다 검색 할 용어/키워드를 입력입니다 양식을 컨트롤러에 게시 한 다음 거기에서 포워딩해야합니다. 그러나 나는 여러 번 시도했고 앞으로 나아갈 수 없습니다.

<?php echo form_open('search'); ?> 
      <input id="search_text" name="searchquery" type="text" value="enter your search here..." onfocus="if(this.value == 'enter your search here...') this.value='';" onblur="if(this.value == '') this.value='enter your search here...';" maxlength="120" > 
     <?php echo form_close();?> 

그리고 컨트롤러 :

if($this->input->post('searchquery')){ 
redirect('search', $this->input->post('searchquery')); 
} 

답변

2

변경이 줄 수 있습니다 :

redirect('search', $this->input->post('searchquery')); 

에 : 당신의 리디렉션 통화에서

redirect('search/' . $this->input->post('searchquery')); 

의 두 번째 매개 변수는 리디렉션의 "방법"이므로 리디렉션이 작동하지 않는 이유입니다. 당신이 원하는 것은 다음과 같습니다 :

redirect('search/my+search+term'); 

그래서 우리는 검색어를 두 번째 매개 변수로 전달하는 대신 문자열 연결을 수행합니다.

1

대신이 시도 여기

는 형태입니다.

if($this->input->post('searchquery')){ 
redirect('search/'.$this->input->post('searchquery')); 
} 

리디렉션 방법이 잘못 사용되었습니다. 다음은 설명서에서 발췌 한 내용입니다.

두 번째 매개 변수 (선택 사항)를 사용하면 "위치"방법 (기본값) 또는 "새로 고침"방법 중에서 선택할 수 있습니다. 위치는 빠른 하지만, 윈도우 서버에서는 문제가 발생할