表单submisson后的大PHP代码

时间:2016-04-14 09:15:09

标签: php mysqli google-calendar-api

我有一张表格,我可以放弃: 我选择一个月,一年和每天(1-31)代码。

提交后,代码会构建一个日期并调用一个函数,将正确时间的日期放入我的Google日历中。

....
//Smaller version without checkups
$Day1=$_POST['Day1'];
$Day2=$_POST['Day2'];
$Day3=$_POST['Day3'];
$Year=$_POST['Year'];
$Month=$_POST['Month'];

if($Day1 !="")
{
    $Date=$Year.'-'.$Month.'-'02';
    book($Date,$Day2);
}
if($Day2 !="")
{
    $Date=$Year.'-'.$Month.'-'02';
    book($Date,$Day2);
}
if($Day3 !="")
{
    $Date=$Year.'-'.$Month.'-'03';
    book($Date,$Day3);
}
....

如何在上一次完成后执行该功能? 我可以提供8个日期,一切都已执行。在此之后,我会确认我输入的内容并在我的Google日历中预订。

如果我输入的时间超过8天,所有内容都会发送到我的Google日历中,但最后我会看到一个白色屏幕,而不是确认。 (但一切都像它应该的那样)。

<?php
//Smaller version of my function
function book($Date, $Day)
{
    $query = msqli_query($link, "SELECT * FROM Table WHERE id='$Day'") or die(mysqli_error($link));
    $row = mysqli_fetch_assoc($query);
    if ($row) {
        //Start time and end time in format 00:00:00
        $fStart = $row['Start'];
        $fEnd = $row['Eind'];
        $Title = "";
        $locat = "";
        $desc = "";
        //Converts to Google Calendar Datetime (like 2016-05-01T08:00:00.000+02:00)
        $start_event = $Date . 'T' . $fStart . '.000+02:00';
        $end_event = $Date . 'T' . $fEnd . '.000+02:00';

        $event = new Google_Event();
        $event->setSummary($Title);
        $event->setDescription($desc);
        $event->setLocation($locat);
        $start = new Google_EventDateTime();
        $start->setDate($start_event);
        $event->start = $start;
        $end = new Google_EventDateTime();
        $end->setDate($end_event);
        $event->end = $end;
        $createdEvent = $service->events->insert($calendar, $event);

        if ($createdEvent) {
            echo= 'Success';
        } else {
            echo= 'Error';
        }
    } else {
        echo 'Not found!';
    }
}

2 个答案:

答案 0 :(得分:0)

将此代码用于第1部分

$Day1=$_POST['Day1'];
$Day2=$_POST['Day2'];
$Day3=$_POST['Day3'];
$Year=$_POST['Year'];
$Month=$_POST['Month'];

if($Day1 != "")
{
    $Date=$Year . '-' . $Month . '-02';
    book($Date, $Day1);
}
if($Day2 != "")
{
    $Date=$Year . '-'. $Month . '-02';
    book($Date, $Day2);
}
if($Day3 != "")
{
    $Date=$Year . '-'. $Month . '-03';
    book($Date, $Day3);
}

答案 1 :(得分:0)

您的代码中存在一些基本的PHP语法错误,这些错误会导致出现白屏错误:

<

应该是:

if ($createdEvent) {
    echo= 'Success';
} else {
    echo= 'Error';
}

我希望这也会显示在您的网络服务器日志中。

我建议使用像Netbeans或PHPStorm这样的支持PHP的IDE,因为他们会自动发现这样的问题。