0

私のコードの何が問題なのか誰にもわかりますか?

$_POST にあるすべてのイベントに対してカレンダー イベントを作成しようとしています。複数のイベントを含むダウンロード用のカレンダーが 1 つ必要です。

これまでのところ、リストの最後のイベントのみを含むダウンロード用のカレンダー ファイルが生成されます。古いものを上書きします。

助けてくれてありがとう。

 //Set the headers
 header("Content-Type: text/Calendar");
 header("Content-Disposition: inline; filename=calendar.ics");

 //Loop through $_POST to get all entries

 foreach ($_POST['listItem'] as $value){

$dave = trim($value);

echo "BEGIN:VCALENDAR\n";
echo "VERSION:2.0\n";
echo "PRODID:www.testMeiCalendar.net\n";
echo "METHOD:REQUEST\n"; // requied by Outlook
echo "BEGIN:VEVENT\n";
echo "DTSTART:".$dave."T230000\n";
echo "DTEND:".$dave."T010000\n";
echo "SUMMARY:This is beautiful\n";
echo "LOCATION:Downtown\n";
echo "DESCRIPTION:Let's get together for New Years Eve\n";
echo "UID:ABCD1234\n";
echo "SEQUENCE:0\n";
echo "DTSTAMP:20101125T112600\n";
echo "END:VEVENT\n";
echo "END:VCALENDAR\n";

  }
4

1 に答える 1

0

スクリプトに送信された $_POST の構造を知らなくても、listItem には値が 1 つしかないため、すべての出力が得られないのです。デバッグして、単一の値のみを出力しているのか、それとも実際にすべてを出力して上書きしているのかを確認しましたか?

__

How to get multiple parameters with same name from a URL in PHP in benlumleyの回答では、GET 要求の変数名の末尾に [] を追加することを提案しています。

いいえ:

someurl.php?name[]=aaa&name[]=bbb

次のような $_GET が返されます。

配列(0=>'aaa'、1=>'bbb')

編集:答えは次のように簡単かもしれません:

foreach($_POST['listItem'] as $key => $value)
于 2012-05-10T09:44:22.653 に答える