2011-07-17 11 views
0

私はCodeIgniterのフレームワークを使用して作成されたアプリケーション(ブログ)を使用していますし、私のブログの最後に文字列を追加することによって、私のブラウザのロケーションバーから私のブログを検索したいURLを、このようなURL:質問は

http://mysite.com/blog/index.php/search ...

上記の例でわかるように、検索部分の後ろにURLの残りの部分をどのようにフォーマットするかわからないので、ここの誰かが正しい方向に私を向けることができればと思っています。

これは、フォームが検索ボックスのように表示され、それがまったく役に立ちます。

form class="searchform" action="http://mysite.com/blog/index.php/search" method="post"> 
    <input id="searchtext" class="search_input" type="text" value="" name="searchtext"> 
    <input type="submit" value="Search" name="Search"> 
</form> 

Thxを、 マーク

答えて

0

フォームがhttp://mysite.com/blog/index.php/searchに掲載されているので、私はこの「検索」コントローラのデフォルトの機能は、あなたがにデータを提出しようとしたものであると仮定しています。私は、これを行う最も簡単な方法は、あなたが投稿しているコントローラメソッド内の投稿データを取得することだと思います。例:

次に、$ search_paramsとして保存されたユーザー入力があれば、そこからアクションを実行できます。あなたが求めていることを誤解していますか?

+0

ああ、それはどういう意味ですか?私はプログラマーではないので、私はすべてのものが何を意味するか分かりません。私はどこでそのものを見つけますか、そして、私が望むようにそれを動作させるためには何を変える必要がありますか?私がしたかったのは、私のブログをhttp://mysite.com/blog/index.php/search&q=what_I_am_looking_forのようなURLを使ってgoogleのようなURLから検索できるようにすることでしたが、それはうまくいきません。 – Mark

0

あなたは2つの異なるアプローチについて議論しているようです。あなたは mysite.com/blog/index.php/search & Q = what_I_am_looking_for

に要求を作成したい場合はこれが(デフォルトではインデックスである)検索コントローラのデフォルトのメソッドを呼び出すために起こっています。 URLを使用してそのようなパラメータを渡したい場合は、検索コントローラの関数に行き、次のようにします: print_r($ this-> input-> get( 'q'));

"what_am_I_looking_for"が表示されます。

私の意見でより簡単なアプローチをすることです: 1.「アクション」を使用すると、上記の貼り付けられたHTMLコンテンツを持つ「search_view」というビューを作成し、フォームを持っているhttp://www.mysite.com/blog/index.php/test/search

  1. は、コントローラを作成します。お使いのブラウザで

    class Test extends CI_Controller { 
    
    function search() 
    { 
        $search = $this->input->post('searchtext'); 
        print_r($search); 
    } 
    
    public function display_search() 
    { 
        $this->load->view('search_view'); 
    } 
    } 
    
  2. ログインhttp://www.mysite.com/blog/index.php/test/display_search:次のようになります。「テスト」と呼ばれます。これは、あなたがsearch_view.phpに配置したフォームを提示するはずです。フォームが提出されたら、検索機能に送られ、変数$ searchが出力されます。この変数には、そのフォームに投稿したテキストが入ります。

これがあなたが探していたものでない場合は、私はあなたの質問を理解できません。

+0

私は別の方法でそれを入れてみましょう。もしgoogleに行ったら。検索ボックスに検索クエリを入力してEnterキー(またはボタンをクリック)を押すと、クエリが実行され、検索結果が表示されます。まあ、まったく同じことを行うには、このようなブラウザのURLにクエリを入力することもできます。http://www.google.com/search?&q=somethingそのリンクに行くと、まったく同じことになります検索ボックスに手動で検索を入力し、ボタンを押したかのように。これは私がcodeigniterを使ってそれを試す以外はやりたいことですが、それはうまくいきません。 – Mark

+0

私は全く同じフォーマットが動作しないことに気づいていますが、URLのコンボを試してみましたが、404エラーや違法な文字についてのエラーがURLにあります。私は私のURLの最後に追加する必要があるので、これはgooglesのURLと同じように動作させるために必要な魔法の形式ですか? – Mark