Hallo allemaal,
Ik heb momenteel een heel raar probleem met een stukje php.
Ik heb namelijk de volgende code:
Dit stukje zorgt voor een lege pagina. Ik heb error_reporting op E_ALL staan, en display_errors op 1, maar er verschijnen geen error. Als ik expres een parse error tevoorschijn tover is er wel een error. Nou ben ik er achter gekomen wat voor de witte pagina zorgt.
Dat doen namelijk regel 40 en 42 in het stukje hierboven. Deze regels zijn bijna hetzelfde. Hieronder heb ik regel 40 nog een keer herhaald:
Wanneer ik class="test" weghaal, werkt alles opeens weer. En als ik bijvoorbeeld id="test" toevoeg, werkt het ook. Maar weer niet als ik cccc="test" doe... Ik dacht dus dat php class als nieuwe klasse zag, maar aangezien ccc="test" ook niet werkt, is dat het niet.
Weet iemand waar dit anders mis kan gaan? Wie helpt me uit de brand
En owja, zo roep ik het aan:
Als ik dit weghaal werkt het ook gewoon...
Ik heb momenteel een heel raar probleem met een stukje php.
Ik heb namelijk de volgende code:
PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
| public function generateList($startTime = false, $middleTime = false, $endTime = false, $itemsToUse = false) { $dutchDayNames = array('' ,'ma','di','wo','do','vr','vr','za','zo'); if($startTime !== false) $this->startTime = $startTime; if($endTime !== false) $this->endTime = $endTime; if(($k2Items = $this->getK2Items()) == false) return false; $dates = array(); $beginMonth = false; $showEndMonth = false; $endMonth = false; $returnHTML = ''; $colspan = 0; for($time=$this->startTime;$time<=$this->endTime;$time=$time+(24 * 60 * 60)) { if($beginMonth == false) { $beginMonth = date('m', $time); $beginYear = date('Y', $time); } if(date('m', $time) != $beginMonth) { $showEndMonth = true; $endMonth = date('m', $time); $endYear = date('Y', $time); } $dates[] = array('day'=>date('d', $time), 'month'=>date('m', $time), 'year'=>date('Y', $time), 'time'=>$this->toCorrectTime($time)); $colspan = $colspan + 1; } $returnHTML .= '<div class="availability_clearer"></div><table class="availability_table">'; $returnHTML .= '<tr><td colspan="1"> </td><td colspan="'.floor($colspan / 2).'" class="availability_beginMonth">'.$this->monthNames[($beginMonth/1)].' '.$beginYear.' </td>'; if($showEndMonth) $returnHTML .= '<td colspan="'.ceil($colspan / 2).'" class="availability_endMonth">'.$this->monthNames[($endMonth/1)].' '.$endYear.'</td>'; $returnHTML .='</tr>'; $returnHTML .='<tr><td class="availability_table_title"> </td>'; foreach($dates as $date) { $returnHTML .= '<td>'.$dutchDayNames[(date('w', $date['time'])/1)].'<br />'.($date['day'] == date('d', $middleTime) ? '<strong>'.$date['day'].'</strong>' : $date['day'] ) . '</td>'; } $returnHTML .= '</tr>'; $k2Items = $this->array_sort($k2Items); foreach($k2Items as $item) { if(is_array($itemsToUse) && !in_array($item->id, $itemsToUse)) {} else { $h2 = ($this->getCategoryName($item->catid) != 'Accommodatie') ? true : false; $returnHTML .= '<tr><td class="availability_table_title"><a href="'.JRoute::_(($h2 ? "index.php?option=com_k2&view=item&id=".$item->id : "index.php?option=com_availability&Itemid=66&view_id=".$item->id)).'">'.($h2 ? '<h2>' : '').$item->title.' <small>['.$this->getCategoryName($item->catid).']</small>'.($h2 ? '</h2>' : '').'</a></td>'; foreach($dates as $date) { $av = $this->getAvailability($item->id, $date['time']); if($av == 'unknown' || $av == 'booked' && $av == 'part') { $returnHTML .= '<td class="test"><img src="components/com_availability/img/'.$av.'.png" style="width: 100%;height: 100%;"></td>'; } else { $returnHTML .= '<td class="test"><img src="components/com_availability/img/available.png" style="width: 100%;height: 100%;"></td>'; } } $returnHTML .= '</tr>'; } } $returnHTML .= '</table>'; return $returnHTML; } |
Dit stukje zorgt voor een lege pagina. Ik heb error_reporting op E_ALL staan, en display_errors op 1, maar er verschijnen geen error. Als ik expres een parse error tevoorschijn tover is er wel een error. Nou ben ik er achter gekomen wat voor de witte pagina zorgt.
Dat doen namelijk regel 40 en 42 in het stukje hierboven. Deze regels zijn bijna hetzelfde. Hieronder heb ik regel 40 nog een keer herhaald:
PHP:
1
| $returnHTML .= '<td class="test"><img src="components/com_availability/img/'.$av.'.png" style="width: 100%;height: 100%;"></td>'; |
Wanneer ik class="test" weghaal, werkt alles opeens weer. En als ik bijvoorbeeld id="test" toevoeg, werkt het ook. Maar weer niet als ik cccc="test" doe... Ik dacht dus dat php class als nieuwe klasse zag, maar aangezien ccc="test" ook niet werkt, is dat het niet.
Weet iemand waar dit anders mis kan gaan? Wie helpt me uit de brand

En owja, zo roep ik het aan:
PHP:
.1
2
3
| <?php echo $availability->generateList($beginTime, $middleTime, $endTime, $itemsToUse); ?> |
Als ik dit weghaal werkt het ook gewoon...