1

インデックスページに現在の四半期と年を表示させたいので、時間が経つにつれて更新されます。コードの再構築についてサポートが必要です。ここにあります。ある種の掲示板カレンダーのようなものです。

$now   = new DateTime();
    $month = (int)$now->format("m");
            $get_year = date("Y");

    if ($month >= 1 AND $month <= 3) {
       include_once("../index.php?year=".$get_year."&quarter=Q1");  
    }
    elseif ($month >= 4 AND $month <= 6) {
         include_once("../jet/index.php?year=".$get_year."&quarter=Q2");  
    }
    elseif ($month >= 7 AND $month <= 9) {
          include_once("../jet/index.php?year=".$get_year."&quarter=Q3");  
    }
    else {
         include_once("../jet/index.php?year=".$get_year."&quarter=Q4");  
    }

表示されるページの準備ができました。表示できず、次のエラーが発生します。

警告:include_once(... / index.php?year = 2012&quarter = Q3)[function.include-once]:ストリームを開くことができませんでした:121行目のD:\ xampp \ htdocs \ jet\index.phpで結果が大きすぎます

警告:include_once()[function.include]:D:\に含めるために'... / index.php?year = 2012&quarter = Q3'を開くことができませんでした(include_path ='。;D:\ xampp \ php \ PEAR') 121行目のxampp\htdocs \ jet \ index.php

誰かを助けますか?

4

2 に答える 2

3

違い。

基本に戻りましょう。

反対側で「GET」として受信するためにURLを介して送信するものは、ハイパーテキストとしてWebサーバーに送信する必要があります。Webサーバーは情報をPHPスクリプトに渡し、それに応じてコンパイルします。したがって、このロジックは機能しません。これは、インクルードでファイルシステムを操作するためです。

あなたがしたいのはheader()を使うことです

header("location: http://example.com/jet/index.php?year=$get_year&quarter=Q2");

それ以外の

include_once("../index.php?year=".$get_year."&quarter=Q1"); 

header()はユーザーをHTTP応答としてリダイレクトします。

于 2012-08-14T06:39:42.930 に答える
0

インクルード文字列に$_GET変数を渡さないでください。

変数を準備する

$year='2012';
$quarter='Q3';
include_once('index.php');

次に、include文字列を実行すると、通常どおり年と四半期にアクセスできます。変数のスコープを確認してください。

だからあなたの完全なコード:

$year=$get_year;
if ($month >= 1 AND $month <= 3) {
   $quarter='Q1';
   include_once("../index.php");  
}
elseif ($month >= 4 AND $month <= 6) {
   $quarter='Q2';
   include_once("../jet/index.php");  
}
elseif ($month >= 7 AND $month <= 9) {
   $quarter='Q3';
   include_once("../jet/index.php");  
}
else {
   $quarter='Q4';
   include_once("../jet/index.php");  
}
于 2012-08-14T06:40:06.177 に答える