За последние 24 часа нас посетили 22738 программистов и 1035 роботов. Сейчас ищут 667 программистов ...

ошибка on line 125

Тема в разделе "PHP для новичков", создана пользователем ubunta2, 16 апр 2018.

  1. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    Parse error: syntax error, unexpected '&' in E:\OpenServer\domains\php\Code\Глава 3. DHTML\Трюк 25. Создание интерактивного календаря\cal.php on line 125

    PHP:
    1. <html>
    2. <head>
    3. <style type="text/css">
    4. .calendar {
    5.   font-family: arial, verdana, sans serif;
    6. }
    7. .calendar td {
    8.   border: 1px solid #eee;
    9. }
    10. .calendar-title {
    11.   text-align: center;
    12.   font-style: italic;
    13. }
    14. .calendar-day-title {
    15.   text-align: center;
    16.   font-size: small;
    17.   background: #ccc;
    18.   font-weight: bold;
    19. }
    20. .calendar-day, .calendar-outmonth-day {
    21.   height: 60px;
    22.   vertical-align: top;
    23.   text-align: center;
    24.   font-size: small;
    25.   padding: 0px;
    26. }
    27. .calendar-day-number {
    28.   text-align: right;
    29.   background: #ddd;
    30. }
    31. .calendar-content {
    32.   padding: 2px;
    33.   font-size: x-small;
    34. }
    35. .calendar-outmonth-day {
    36.   color: #666;
    37.   font-style: italic;
    38.   background: #ddd;
    39. }
    40. </style>
    41. </head>
    42. <body>
    43. <?php
    44. class Day
    45. {
    46.   function Day( $inmonth, $month, $day, $year )
    47.   {
    48.   $this->{'month'} = $month;
    49.   $this->{'day'} = $day;
    50.   $this->{'year'} = $year;
    51.   $this->{'inmonth'} = $inmonth;
    52.   $this->{'number'} = $number;
    53.   $this->{'text'} = "";
    54.   }
    55.   function get_day( ) { return $this->{'day'}; }
    56.   function get_month( ) { return $this->{'month'}; }
    57.   function get_year( ) { return $this->{'year'}; }
    58.   function get_inmonth( ) { return $this->{'inmonth'}; }
    59.   function get_number( ) { return $this->{'number'}; }
    60.   function get_text( ) { return $this->{'text'}; }
    61.   function set_text( $text ) { $this->{'text'} = $text; }
    62. }
    63.  
    64. function setCalendarText( $days, $m, $d, $y, $text )
    65. {
    66.   foreach( $days as $day )
    67.   {
    68.   if ( $day->get_day( ) == $d &&
    69.   $day->get_month( ) == $m &&
    70.   $day->get_year( ) == $y )
    71.   $day->set_text( $text );
    72.   }
    73. }
    74.  
    75. function get_last_month( $month, $year )
    76. {
    77.   $lastmonth = $month - 1;
    78.   $lastyear = $year;
    79.   if ( $lastmonth < 0 ) { $lastmonth = 11; $lastyear -= 1; }
    80.   return array( $lastmonth, $lastyear );
    81. }
    82.  
    83. function get_next_month( $month, $year )
    84. {
    85.   $nextmonth = $month + 1;
    86.   $nextyear = $year;
    87.   if ( $nextmonth > 11 ) { $nextmonth = 0; $nextyear += 1; }
    88.   return array( $nextmonth, $nextyear );
    89. }
    90.  
    91. function makeCalendarDays( $month, $year )
    92. {
    93.   list( $nextmonth, $nextyear ) = get_next_month( $month, $year );
    94.   list( $lastmonth, $lastyear ) = get_last_month( $month, $year );
    95.  
    96.   $dimlm = cal_days_in_month( CAL_GREGORIAN, $lastmonth, $lastyear );
    97.  
    98.   $jd = cal_to_jd( CAL_GREGORIAN, $month + 1, 1, $year );
    99.   $day = jddayofweek( $jd );
    100.   $dim = cal_days_in_month( CAL_GREGORIAN, $month + 1, $year );
    101.  
    102.   $days = array( );
    103.  
    104.   for( $d = 0; $d < $day; $d++ )
    105.   $days []= new Day( 0, $lastmonth + 1, $dimlm - ( $day - $d ), $lastyear );
    106.  
    107.   for( $d = 1; $d <= $dim; $d++ )
    108.   $days []= new Day( 1, $month + 1, $d, $year );
    109.   $left = ( ( floor( ( $day + $dim ) / 7 ) + 1 ) * 7 ) - ( $day + $dim );
    110.   for( $d = 0; $d < $left; $d++ )
    111.   $days []= new Day( 0, $nexmonth + 1, $d+1, $nextyear );
    112.  
    113.   return $days;
    114. }
    115.  
    116. $today = getdate( );
    117. $year = $today['year'];
    118. $month = $today['mon'] - 1;
    119.  
    120. if ( $_GET['year'] ) $year = $_GET['year'];
    121. if ( $_GET['month'] ) $month = $_GET['month'];
    122.  
    123. $days = makeCalendarDays( $month, $year );
    124.  
    125. setCalendarText( &$days, $month + 1, 5, $year, "Meet<br/>Jim" );
    126. setCalendarText( &$days, $month + 1, 10, $year, "Meet<br/>Sue" );
    127.  
    128. $months = array(
    129.   "January", "February", "March", "April",
    130.   "May", "June", "July", "August",
    131.   "September", "October", "November", "December" );
    132. $day_names = array( "Sun", "Mon", "Tue", "Wed", "Thu", "Fri", "Sat" );
    133. ?>
    134. <div style="width:600px;">
    135. <table class="calendar" width="100%" cellspacing="0" cellpadding="1">
    136. <tr><td colspan="7" class="calendar-title" width="13%">
    137. <?php
    138. list( $nextmonth, $nextyear ) = get_next_month( $month, $year );
    139. list( $lastmonth, $lastyear ) = get_last_month( $month, $year );
    140. ?>
    141. <a href="cal.php?year=<?php echo($lastyear); ?>&month=<?php echo( $lastmonth );
    142. ?>">&lt;&lt;</a>
    143. <?php echo( $months[$month] ); ?> <?php echo( $year ); ?>
    144. <a href="cal.php?year=<?php echo($nextyear); ?>&month=<?php echo( $nextmonth );
    145. ?>">&gt;&gt;</a>
    146. </td></tr>
    147. <tr>
    148. <?php foreach( $day_names as $day ) { ?>
    149. <td class="calendar-day-title"><?php echo( $day ); ?></td>
    150. <?php } ?>
    151. </tr>
    152. <?php
    153. $p = 0;
    154. foreach( $days as $d ) {
    155. if ( $p == 0 ) echo ( "<tr>" );
    156. $day_style = $d->get_inmonth( ) ? "calendar-day" : "calendar-outmonth-day";
    157. ?>
    158. <td class="<?php echo( $day_style ); ?>" width="13%">
    159. <div class="calendar-day-number">
    160. <?php echo( $d->get_day( ) ); ?>
    161. </div>
    162. <div class="calendar-content">
    163. <?php echo( $d->get_text( ) ); ?>
    164. </div>
    165. </td>
    166. <?php
    167. $p += 1;
    168. if ( $p == 7 ) $p = 0;
    169. }
    170. ?>
    171. </tr>
    172. </table>
    173. </div>
    174. <body>
    175. </html>
     
  2. Dron-Boy

    Dron-Boy Старожил

    С нами с:
    20 ноя 2014
    Сообщения:
    1.041
    Симпатии:
    126
    Ну так может ты начнешь сам разбираться в своем коде, с мельчайшей ошибкой сюда сразу, ты так и не научишься розбираться в коде и кодить. а по поводу ошибки вот

    PHP:
    1. setCalendarText( &$days, $month + 1, 5, $year, "Meet<br/>Jim" );
    2. setCalendarText( &$days, $month + 1, 10, $year, "Meet<br/>Sue" );
    убери &
     
  3. ubunta2

    ubunta2 Зэк
    [ БАН ]

    С нами с:
    27 июн 2017
    Сообщения:
    947
    Симпатии:
    28
    я книгу читаю, а не кодю
     
  4. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.591
    Симпатии:
    360
    Тогда вот ещё об этом загадочном амперсанде.
    Всё меняется... И если на момент выхода той книги он был уместен при вызове функции, то сейчас - только при её объявлении.