2014-02-17 197 views
0

我發現了一個非常簡單的庫存PHP腳本,它非常適合我的小學系統。然而它是,我相信PHP 4,現在甚至XAMPP移動:) 我不是一個程序員,但渴望解決它,如果它很容易。 Coudl有人給我指導我找到這個小小漂亮代碼的修復程序。庫存管理軟件-php MySQL

不幸的是,業主不像往常一樣可聯繫。但是,它是免費的http://inventory-management.org/

我做了什麼:

  • 下載
  • 運行SQL和固定的TYPE錯誤引擎(工作)
  • 運行第一
  • 配置的DB到PHP (瀏覽器)

並得到這個:

致命錯誤:\ XAMPP \ htdocs中\庫存\ lib中\ site.php上線187

這裏是site.php的代碼:

調用的時候通過按引用已用C被除去
<?php 
$sess_save_path = "./tmp/"; 
function open ($save_path, $session_name) { 
global $sess_save_path, $sess_session_name; 

$sess_save_path = $save_path; 
$sess_session_name = $session_name; 
return(true); 
} 

function close() { 
return(true); 
} 

function read ($id) { 
global $sess_save_path, $sess_session_name; 

$sess_file = "$sess_save_path/sess_$id"; 
if ($fp = @fopen($sess_file, "r")) { 
    $sess_data = @fread($fp, @filesize($sess_file)); 
    return($sess_data); 
} else { 
    return(""); // Must return "" here. 
} 

} 

function write ($id, $sess_data) { 
global $sess_save_path, $sess_session_name; 

$sess_file = "$sess_save_path/sess_$id"; 
if ($fp = @fopen($sess_file, "w")) { 
    return(fwrite($fp, $sess_data)); 
} else { 
    return(false); 
} 

} 

function destroy ($id) { 
global $sess_save_path, $sess_session_name; 

$sess_file = "$sess_save_path/sess_$id"; 
return(@unlink($sess_file)); 
} 

/********************************************* 
* WARNING - You will need to implement some * 
* sort of garbage collection routine here. * 
*********************************************/ 
function gc ($maxlifetime) { 
return true; 
} 

session_set_save_handler ("open", "close", "read", "write", "destroy", "gc"); 

session_start(); 



session_start(); 

//error_reporting(0); 

require_once _LIBPATH . "common.php"; 
require_once _LIBPATH . "xml.php"; 
require_once _LIBPATH . "template.php"; 
require_once _LIBPATH . "config.php"; 
require_once _LIBPATH . "html.php"; 
require_once _LIBPATH . "database.php"; 
require_once _LIBPATH . "vars.php"; 
require_once _LIBPATH . "menu.php"; 
require_once _LIBPATH . "library.php"; 
require_once _LIBPATH . "sqladmin.php"; 
require_once _LIBPATH . "forms.php"; 
require_once _LIBPATH . "mail.php"; 

class CBase { 
    /** 
    * description 
    * 
    * @var type 
    * 
    * @access type 
    */ 
    var $html; 

} 
class CSite { 

    /** 
    * description 
    * 
    * @var type 
    * 
    * @access type 
    */ 
    var $admin; 
    /** 
    * description 
    * 
    * @var type 
    * 
    * @access type 
    */ 
    var $html; 


    /** 
    * description 
    * 
    * @param 
    * 
    * @return 
    * 
    * @access 
    */ 
    function CSite($xml , $admin = false) { 
     global $_CONF , $base; 

     $this->admin = $admin; 

     //loading the config 
     $tmp_config = new CConfig($xml); 

     $_CONF = $tmp_config->vars["config"]; 

     //loading the templates 
     if ($this->admin) { 
      if (is_array($_CONF["templates"]["admin"])) { 
       foreach ($_CONF["templates"]["admin"] as $key => $val) { 
        if ($key != "path") 
         $this->templates[$key] = new CTemplate($_CONF["templates"]["admin"]["path"] . $_CONF["templates"]["admin"][$key]); 
       }   
      }   
     } else { 

      if (is_array($_CONF["templates"])) { 
       foreach ($_CONF["templates"] as $key => $val) { 
        if (($key != "path") && ($key != "admin")) 
         $this->templates[$key] = new CTemplate($_CONF["templates"]["path"] . $_CONF["templates"][$key]); 
       }    
      } 
     } 


     $base = new CBase(); 
     $base->html = new CHtml(); 
     $this->html = &$base->html; 

     //make a connection to db 
     if (is_array($_CONF["database"])) { 
      $this->db = new CDatabase($_CONF["database"]); 

      //vars only if needed 
      if ($_CONF["tables"]["vars"]) { 
       $this->vars = new CVars($this->db , $_CONF["tables"]["vars"]); 
       $base->vars = &$this->vars; 
      } 

      $this->tables = &$_CONF["tables"]; 
     }    

    } 

    function TableFiller($item) { 
     if (file_exists("pb_tf.php")) { 
      include("pb_tf.php"); 
     } 
    } 

    /** 
    * description 
    * 
    * @param 
    * 
    * @return 
    * 
    * @access 
    */ 
    function Run() { 
     global $_TSM; 

     if (file_exists("pb_events.php")) { 
      include("pb_events.php"); 

      **$_TSM["PB_EVENTS"] = @DoEvents(&$this);** 
     } 

     if (is_object($this->templates["layout"])) { 
      echo $this->templates["layout"]->Replace($_TSM); 
     }  
    } 
} 


?> 

非常感謝,如果有人有時間來幫助我。

回答

0

Fatal error: Call-time pass-by-reference has been removed in C:\xampp\htdocs\Inventory\lib\site.php on line 187

該特定錯誤消息(其中曾經187)是指調用與由前面&參數的函數。該公約不再是該語言的一部分。如果函數本身被定義爲通過引用接收參數,它仍然可以工作。您只需將該字符從調用函數中移除即可。

See the manual on this topic.

+0

嗨非常感謝。我發現了另外兩個相同的問題並修復。真的很感激它。 – user3319377