PHP include() と GET 属性 (include file.php?q=1) 質問する

PHP include() と GET 属性 (include file.php?q=1) 質問する

include()GET 属性を追加した PHP ファイルをサーバー上に置きたいのですが、うまくいきません。

include('search.php?q=1');

表示されるエラー:

PHP Warning:  include(): Failed opening './search.php?q=1' for inclusion

'search.php' ファイルを開いて GET 属性を送信するのではなく、文字通り 'search.php?q=1' という名前のファイルを開こうとしているようです。

*GET 属性を何も入れなくても機能することに注意してください:

include('search.php');

ベストアンサー1

これは避けてください。GET パラメータを渡すには、http リクエストを実行する必要があります。この方法で呼び出す PHP スクリプトは、別の PHP プロセスで実行されます。

最適な方法は、ファイルをローカルに含めることです。

include('search.php');

そして、例えば以下のようにパラメータを手動で渡すこともできます。

$q = "1";
include('search.php');  // expects `$q` parameter

search.phpまたは、もっときれいにするには、パラメータで呼び出せる関数またはクラスに、持っているものをすべて入れます。

include('search.php');  // defines function my_search($q)  
my_search(1);       

おすすめ記事