0

私はPHPにかなり慣れていません。「インクルード」を使用して、HTML ファイルと PHP ファイルを PHP ページに含める方法を学びました。ただし、PHP ページをインクルードし、同時に変数を渡そうとしています。私の最初の試みはこれでした:

include 'localhost/blah/test.php?var1=20&var2=30';

しかし、それは私にこのエラーを与えます:

Warning: include(...): failed to open stream: No such file or directory in C:\xampp\htdocs\blah\index.php on line 78

そのインクルードでは、URL ではなくファイルを開くことしかできないと思います。Google で検索を行ったところ、php.ini ファイルで allow_url_fopen がオンになっている場合、これを実行できるはずであることがわかりました。php.ini を確認したところ、実際にオンに設定されています。

次の回答とコメントを編集します。

それから、私がやりたいことはこのようにはうまくいかないようです。最終的には、これが私が望むものです:

index.php で、ユーザーが LINK_A をクリックすると、blah.php?var=A で #DIV_FOO のみをリロードします。

ユーザーが LINK_B をクリックした場合、blah.php?var=B で #DIV_FOO のみをリロードします。

私のページは巨大で、大きな index.php 全体をリクエストするのではなく、一度に「サブページ」をリクエストするだけで負荷を制限しようとしています。どのようにそれを行うことをお勧めしますか?

以前のコメントにもう少し明確に追加するには、index.php には blah.php が含まれます。ユーザーがリンクをクリックした場合、index.php をリロードしたくありませんが、blah.php のみが blah.php?var=A に変更されます。あなたが私を理解してくれることを望むよ...

4

4 に答える 4

2

URL で外部ファイルをインクルードできたとしても、変数を URL の一部として渡すことはできません。PHP はインクルード時にインクルードされたコードを実行しません。プログラム フローがそこに到達したときだけです。

ただし、必要ありません。インクルードされたコードは、それが含まれているスコープを受け取るため、変数を宣言してからコードをインクルードすると、インクルードされたコードは宣言された変数にアクセスできます。

main.php

<?php
$a = 5;
$b = 10;
include("extra.php");
?>

extra.php

<?php
$c = $a * $b;
echo $c;       // 50
?>
于 2013-09-05T21:36:19.993 に答える
1

変数を解析する必要はなく、「通常」として定義するだけです

$var1=20;
$var2=30;

include '/PATH/test.php';

ローカルでホストされている場合、外部ファイルを解析しません

于 2013-09-05T21:34:00.457 に答える
0

そのためには、完全修飾ドメイン名を含める必要があります

http://php.net/manual/en/function.include.php

 // Won't work; looks for a file named 'file.php?foo=1&bar=2' on the
 // local filesystem.
 include 'file.php?foo=1&bar=2';

 // Works.
 include 'http://www.example.com/file.php?foo=1&bar=2';
于 2013-09-05T21:33:16.027 に答える
0

次に、ベーススクリプトなどのすべての変数が現在のスクリプトにいくつかのファイルを含めます。ファイルをインクルードしてオブジェクト変数を操作すると、これは機能しません。

于 2013-09-05T21:40:36.583 に答える