2016-04-14 20 views
-1

Size verebileceğim bir formum var: Bir ay, bir yıl ve her gün için (1-31) bir kod seçiyorum.Form altından sonra büyük php kodu

Gönderimden sonra, kod bir tarih oluşturacak ve tarihi Google Takvim’imde doğru saatlerle girmek için bir işlev çağıracak.

.... 
//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); 
} 
.... 

Önceki işlem bittikten sonra işlevi nasıl yürütebilirim? 8 tarihte verebiliyorum ve her şey yerine getiriliyor. Bundan sonra, Google Takvim’ime girdiğim ve rezervasyon yaptığımın onayını aldım.

8 günden daha uzun bir süre girersem, her şey Google Takvimime de gönderilir, ancak sonuçta onay yerine beyaz bir ekran alırım. (Ama her şey olması gerektiği gibi çalışır).

<?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!'; 
    } 
} 

cevap

0

kullanın 1.bölüm Bir beyaz ekran hataya neden olur kodunuzda bazı temel PHP sözdizimi hataları

$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); 
} 
0

için bu kodu:

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

olmalı:

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

n web sunucunuz da günlüğe kaydeder.

Netbeans veya PHPStorm gibi PHP ile uyumlu bir IDE kullanmayı otomatik olarak bu gibi sorunları tespit edeceklerinden öneririm.

+0

Bilinen kötü kodun yapıştırılması, insanların zamanını boşa harcamanın harika bir yoludur. Sunucu kayıtlarınızı okuyun, probleminiz orada gösterilecektir. – Synchro

+0

Zaman kaybetmek niyetim değildi. Yukarıdaki kod sadece anlamını göstermek içindi. Gerçek kod değil. Yukarıdaki kodda hata yaptım (cepten soru sordum). –