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);