2016-07-26 6 views
0

は、私がGET方法で検索フォームを持っています。 URLパラメータを取得しようとすると機能しないようです。私は次のようにやって:パラメータ

if(isset($this->request->params['text'])){ 

     // the code ... 
    } 

検索フォームのアクションが定義されたルートを持っています

$routes->connect('/search', [ 
    'controller' => 'Top', 
    'action' => 'index' 
], 
[ 
    '_name' => 'search' 
]); 

この問題を解決する方法は?

$this->request->query('text'); 

参考:

($ _ GET)をクエリ文字列フェッチfoはあなたがこのような何かを行うことができ
+0

あなたはこれを試してみました? var_dump($この)またはのvar_dump(の$ this - >要求 - >のparams [ 'テキスト']) – DeFeNdog

+1

** [リクエスト&レスポンスオブジェクト>クエリ文字列パラメータ](http://book.cakephp.org/3.0/en/ parameters/request-response.html#query-string-parameters)** – ndm

+0

'var_dump($ this-> request-> params ['text'])'はNULLを返します。しかし、私のURLは 'localhost/app/search?text = toto'を表示します。 – sk001

答えて

1

if(isset($this->request->query['text'])){ 
     // the code ... 
} 
+0

それは 'のように思えますisset() 'は、関数としてパラメータとして呼び出すことはできません。むしろこれを行うことができます: '$ text = $ this-> request-> query ['text']; if(isset($ text)){/ * ... * /} ' – sk001