2

明らかな理由でサイトをオフラインにしようとしていますが、localhostPHP関数を機能させるのに問題があります。私のコードは次のとおりです。

include "http://localhost:8888/mainbar.php?display=1";

名前だけでファイルを含めることはできますが、URLに値を渡す必要があるため、これはオプションではありません。これを機能させる他の方法を検討しましたが、MAMPを使用する目的は、オフラインで作業してから改善点をアップロードできるようにすることです。

次に、Cookieを設定できません。これが私が持っている次のクッキーコードです:

$expire=time() + (14 * 24 * 60 * 60);
setcookie("user", "Conan", $expire, '/');

ChromeでもCookieを設定しようとしましたが、設定できません。設定できないとびっくりします。

4

2 に答える 2

2

インクルードには、URLではなくファイルパスのみを指定する必要があります。

適切な使用法は次のようになります:include "/ path / to / file"

include "/var/www/html/yourappfolder/mainbar.php";

変数を渡そうとしているようです?display=1display解決策は、URLパラメータを使用してファイルをロードする方法を理解することではなく、変数に対応する情報をフェッチする方法を再設計する必要があります。

あなたがしたいのは、ソフトウェア設計を改善し、どこかに別の関数を作成することですgetMainBarData($display)。mainbar.phpファイルで、この関数を呼び出して、現在の結果を取得します。includeを使用しているファイルに、新しい関数を保持するファイルをインクルードし、getMainBarData($display)それを直接呼び出すことができますgetMainBarData(1)

mainbar.phpしたがって、基本的には、includeで使用できる関数とincludeを使用してこのファイルの両方で使用できる関数を作成する必要があります。ここでは、2ページで使用できる1つの機能が最適なソリューションです。

クッキーの問題に関しては..パス"/"なしで試してください..そう:

setcookie('user', 'Conan', $expire);

于 2012-12-22T03:14:59.873 に答える
0

質問の最初の部分では、url_file_includeを有効にする必要があります。これは大きなセキュリティリスクと見なされており、設計が不適切であることを示しているため、一般的に使用しないでください。この機能を実現するには、次のことを行う必要があります。追加します

allow_url_include=1

php.iniで。質問の後半では、コードは私のMAMPインストールで正常に機能するため、ブラウザへの出力(エコー)の前にsetcookieの呼び出しが行われていることを確認する必要があります。また、機密情報を保存する場合は、Cookieを使用しないことを検討する必要があります。

于 2012-12-22T15:02:58.180 に答える