0

以下のコードが機能しない理由がわかりません。

include('section_common.php?cat=' . $cat_map[$cat]['url']);

それは与える:

警告: include(section_common.php?cat=cat): ストリームを開くことができませんでした: 67 行目の C:\xampp\htdocs\1.php にエラーはありません

localhost/section_common.php?cat=cat にアクセスするとうまくいきますが、インクルードされたリンクがブラウザで機能し、インクルードでストリームを開くことができなかったため、問題は関数のインクルード自体にあると思います。

4

4 に答える 4

0

そのようなファイルをクエリ文字列に含めることはできません。おそらく、コードを再構築すると、コードがより良くなり、壊れにくくなります。

于 2013-10-22T01:22:25.863 に答える
0

のファイル名を指定する必要がありinclude()ますが、書き留めたものはそうではありません。で実行する条件付きのケースがある場合はsection_common.php、パラメータを変数として渡す必要があります$_SESSION

于 2013-10-22T01:32:27.787 に答える
0

include または require にパラメーターを渡すことはできません。

デフォルト

$cat= $cat_map[$cat]['url'];
include("section_common.php");

「section_common.php」では:

echo $cat;

セッション

session_start();
$cat= $cat_map[$cat]['url'];
$_SESSION["cat"] = $cat;
include("section_common.php");

「section_common.php」では:

session_start();
echo $_SESSION["cat"];

カール:

$connecturl = curl_init('http://localhost/section_common.php?cat='.$cat_map[$cat]['url']);
curl_setopt($connecturl,CURLOPT_RETURNTRANSFER,true);
$output = curl_exec($connecturl);
curl_close($connecturl);
echo $output;

Jクエリ:

$.ajax({
   url: "section_common.php",
   type: "GET",
   data: {cat:"<?=$cat_map[$cat]['url']?>"},
   success: function(data){
      $("body").html(data);
   }
})
于 2013-10-22T01:23:04.240 に答える
0

ファイルパスを指定するファイルを含める場合、それは http リクエストではないため、次のようなパラメーターを指定すると:

include("file.php?id=1");

彼は「file.php?id=1」という名前のファイルを探しますが、あなたが期待していることはしません。

やりたいことを行うには、スクリプト内の変数を値に設定するだけです。変数にアクセスできるようになった後にファイルを含めると、次のようになります。

$cat= $cat_map[$cat]['url'];

include("section_common.php"); // you can use $cat in this script

「include();」だからです。含まれているファイルをコピーして貼り付けるだけです。ただし、このスクリプトを別の場所に含める場合は、おそらく $cat が見つからない可能性があるため、十分に注意する必要があります。

于 2013-10-22T01:25:48.517 に答える