문제

I am trying to adapt a calendar script by David Walsh. In David's script showing a monthly calendar, for the first week it shows blanks before the month start but a commenter said you can use following code to display the dates from the previous month ie 28 20 30 depending on when the first day of the month falls.

I won't repeat all of the code from the script linked to, but the main thing is that the replacement code displays a symbol I have never seen before.., �30�. (I have copied these symbols from he source. They are squares that say FF above PD.). Here is code. Note $x, $running_day and $daysInThisWeek are just numbers. $calendar gets echoed at end.

//following prints out empty table cells

for($x = 0; $x < $running_day; $x++):
        $calendar.= '<td class="calendar-day-np">&nbsp;</td>';
        $days_in_this_week++;
    endfor;
echo $calendar;

//But following, echoed, prints out wierd symbols:

$daysInLastMonth = date(‘t’,mktime(0,0,0,$month-1,1,$year));

Then when you loop through as above you get a whole bunch of the wierd symbols.

for($x = 0; $x < $running_day; $x++): //this line is same as above
$calendar.= ' . ( ( $daysInLastMonth – ( $runningDay – 1 ) ) + $x ). ';
$daysInThisWeek++;
endfor;
echo $calendar;

Does anyone know what might be going on, what the wierd symbols mean and how to get this to display properly.

Thanks for any suggestions!

도움이 되었습니까?

해결책

Turn on all errors and you will see that you have wrong quotes. Errors would be like

Notice: Use of undefined constant ‘t’ - assumed '‘t’'

This line

$daysInLastMonth = date(‘t’,mktime(0,0,0,$month-1,1,$year));

must be

$daysInLastMonth = date('t',mktime(0,0,0,$month-1,1,$year));

다른 팁

There is a mistake with:

$daysInLastMonth = date(‘t’,mktime(0,0,0,$month-1,1,$year));

It should be:

$daysInLastMonth = date('t',mktime(0,0,0,$month-1,1,$year));

To notice that kind of mistake you have to turn on errors:

error_reporting(E_ALL);

More information about PHP errors in: http://php.net/manual/en/function.error-reporting.php

About the characters it seems to be a encoding issue:

These links will help you:

http://www.php.net/manual/en/ini.core.php#ini.default-charset

UTF-8 all the way through

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top