PHP Foreach on iCal event


PHP Foreach on iCal event

任何人都可以看到我的代码出了什么问题吗?

我正在尝试为$ _POST中的每个事件创建一个日历事件。应该有一个日历可供下载,上面有几个事件。

到目前为止,它将生成一个日历文件以供下载,其中仅包含列表中的最后一个事件。它覆盖旧的。

提前感谢任何帮助。

 //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";
  }

在不知道发送到脚本的 $_POST 的结构的情况下,我会说 listItem 中只有一个值,所以这就是为什么它不会为所有内容提供输出。您是否对其进行了调试以判断它是否仅输出单个值,或者它是否实际上输出所有内容并覆盖?

__

如何从 benlumley 的 PHP 中的 URL 获取多个同名参数的答案建议将 [] 附加到 GET 请求的变量名称末尾。

即:

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

会给你一个 _GET 美元,看起来像:

array(0=>'aaa', 1=>'bbb')

编辑:我认为答案可能很简单:

foreach($_POST['listItem'] as $key => $value)