2015-01-11 3 views
0

저는 codeigniter를 처음 사용하기 때문에 의사 사이트를 만드는 중입니다. 사용자가 http://www.mywebsite.com/newyork과 같은 간단한 URL을 사용하여 의사를 검색 할 수 있도록해야합니다. 많은 수의 URL이 있으므로이 URL에는 클래스가 없습니다. 주 및 위선자는 각 주마다 수업을 진행합니다. 경로 스크립트에서 404 무시를 변경해야합니까? 또는 달성하기 위해 더 나은 방법이 그것Codeigniter 맞춤 URL 문자열

$route['(:any)']='search/check_state'; 

난 다음

+0

당신이 정말로 더 많은 시간 I 동안 컨트롤러가 작동하는 방법에 대한 문서 및 오류 페이지와 경로 – charlietfl

+0

읽기를 지출해야 위의 요점에 동의하십시오. 페이지 요청이 일반적으로 어떻게 작동하는지 이해해야한다는 것도 분명합니다. 예를 들어 라우팅을 터치하지 않고도 'newyork'클래스의 색인 기능을 사용하여 게시 한 검색을 쉽게 수행 할 수 있습니다. 여기서 상태를 유지할 필요가 없습니다. 검색은 일반적으로 동일한 색인 기능에 게시 될 수있는 GET 또는 POST 매개 변수를 통해 수행됩니다. – Patrick

+0

@ 패트릭 :하지만 검색 url에 california와 같은 다른 주를 포함하면 색인 페이지에 'california'라는 다른 클래스가 있어야합니다. 나는 많은 국가가있는 경우에 현명한 방법 thats를 생각하지 않는다 –

답변

0

만들기 데이터베이스를 시도 라우팅 이상 사용하는 경우 모든 국가 및/check_state 이런 식 검색 내부

0 새로운 기능 또한 POST 양식을 할 수

function validateState($state){ 
    // If database contains $state then return true else return false 
} 

UPDATE

컨트롤러에 추가합니다. 사용자가 입력 사항

를 제공 페이지에

만들기 양식

echo form_open(base_url().'path_to_post_validation'); 
// make form here that sends "state" into page that handles validation 
echo form_close(); 

핸들 POST 검증

// Make sure user has send POST request 
if($this->input->post()){ 

    // Set form validation rules 
    $this->form_validation->set_rules('state', 'state', 'required|trim|xss_clean'); 

    // Run form validation 
    if ($this->form_validation->run() == TRUE){ 

     // Store state into variable 
     $state = $this->input->post('state'); 

     // Check database that it contains $state and then continue or give error message 
    } 
} 
+0

그래, 내가 이런 식으로했지만 뉴욕 질문은 기본적으로 라우터 페이지에서 와일드 카드 항목을 사용하는 것보다 다른 방법이 있는지 알고 싶습니다 –

+0

한 가지 방법은 GET 또는 POST 상태를 보내는 것입니다 , 당신은 노선이 필요 없다. – plexcell

+0

만약 내가 얻을 또는 게시 URL을 기울이지 않아 간단 한 website.com/newyork처럼 ... 사용할 수 있습니까? –

0

가지고/로그인 나던 work.Please 도움이 같은 다른 페이지에 포함 된

$route['search/check_state/:any'] ='search/check_state'; 
+0

그러나 url는 http://www.mywebsite.com/[state 이름] 모양의 일 것이다. 그래서 위의 경로가 작동하는 방법을 여기에 –