关于iCal事件的PHP Foreach

时间:2012-05-10 09:25:11

标签: php loops foreach calendar icalendar

有人能看到我的代码出了什么问题吗?

我正在尝试为$ _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";

  }

1 个答案:

答案 0 :(得分:0)

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

__

来自benlumley的How to get multiple parameters with same name from a URL in PHP的答案建议将[]附加到GET请求的变量名称的末尾。

  

IE:

     
    

someurl.php名称[] = AAA&安培;名称[] = BBB

  
     

会给你一个$ _GET看起来像:

     
    

数组(0 =>'aaa',1 =>'bbb')

  

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

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