致命错误:在非对象上调用成员函数make_calendar()

时间:2013-12-19 07:44:29

标签: php mysql web wamp

我是PHP新手并尝试构建日历预订系统。 我正在

  
    

致命错误:在第46行的C:\ wamp \ www \ calendar \ calendar.php中的非对象上调用成员函数make_calendar()

  

  
    

注意:未定义的变量:第46行的C:\ wamp \ www \ calendar \ calendar.php中的日历

  
在localhost / calendar / calendar.php访问我的网站时出现

错误

                                      // calendar.php
    <?
    include('php/connect.php'); 
    include('classes/class_calendar.php');
    $calendar = new booking_diary($link);
    // some more code
    ?>

//介于

之间的一些HTML代码
<?php     

if($_SERVER['REQUEST_METHOD'] == 'POST') {
    $calendar->after_post($month, $day, $year);  
}   

// Call calendar function
//Error on this line
$calendar->make_calendar($selected_date, $first_day, $back, $forward, $day, $month, $year);

?>

class_calendar.php中的类'booking_diary'看起来像

class booking_diary {

        function __construct($link) {
        $this->link = $link;    
        }
function make_calendar($selected_date, $first_day, $back, $forward, $day, $month,year){

  // Add a value to these public variables  
  $this->day = $day;    
  $this->month = $month;
  $this->year = $year;

  $this->selected_date = $selected_date;    
  $this->first_day = $first_day;

  $this->back = $back;
  $this->back_month = date("m", $back);
  $this->back_year = date("Y", $back); // Minus one month back arrow

  $this->forward = $forward;
  $this->forward_month = date("m", $forward);
  $this->forward_year = date("Y", $forward); // Add one month forward arrow    

  // Make the booking array
  $this->make_booking_array($year, $month);

  }

// some more PHP code
}

connect.php

中的$link = mysqli_connect($host, $user, $password);位置

错误在线

$calendar->make_calendar($selected_date, $first_day, $back, $forward, $day, $month, $year);

2 个答案:

答案 0 :(得分:0)

你会踢自己!!!

这可能是你的一个问题:

当您在类代码中声明方法时,year参数前面没有$符号。

function make_calendar($selected_date, $first_day, $back, $forward, $day, $month,year){

function make_calendar($selected_date, $first_day, $back, $forward, $day, $month, $year){

答案 1 :(得分:0)

经过多次努力,我找到了解决方案。

我正在使用 wamp server 2.4 并启用短打开标记解决了我的问题。

里面的代码

实际上并没有被执行。