Pereiti prie turinio

Prašau pagalbos dėl PHP OOP


Rekomenduojami pranešimai

Sveiki, gal kas galėtumėte padėti ir pažiūrėti kas čia ne taip?:

 

config.php

<?php



$host = 'localhost';
$db = 'logger';
$user = 'root';
$pwd = 'user';

$path = '/logs';

 

logger.php

<?php
interface loggerInterface {

   public function __construct($saving_type);

}

abstract class partOfLogger {

   abstract function mysql($some_text);

   abstract function file($some_text);


}

class loggerSettings extends partOfLogger implements loggerInterface {

   var $savingType;
   var $host;
   var $db;
   var $user;
   var $pwd;
   var $path;

   public function __construct($saving_type) {
       switch($saving_type) {
           case "mysql":
               $this->savingType = 1;
           break;
           case "file":
               $this->savingType = 2;
           break;
           default:
               $this->savingType = 0;
       }
       include("config.php");
       $this->host = $host;
       $this->db = $db;
       $this->user = $user;
       $this->pwd = $pwd;
       $this->path = $path;
   }

   function datetime() {
       return date("Y-m-d H:i:s");
   }

   function text($some_text) {
       $all = $this->datetime();
       $all .= ": ";
       $all .= $some_text;
       return $all;
   }

   function mysql($some_text) {
       $con = mysql_connect($this->host, $this->user, $this->pwd) or die(mysql_error());
       mysql_select_db($this->db, $con) or die(mysql_error());
       mysql_query("
       INSERT INTO  logs ('id', 'value') VALUES (NULL ,  ".$this->datetime().": ".$some_text.")");

   }

   function file($some_text) {

       $file = $this->path."/log.txt";
       $info = $this->text($some_text);
       $action = fopen($file, "a");
       fwrite($action, "$info\n");
       fclose($action);
   }
}

class Logger extends loggerSettings {

   public function log($information) {
       if ($this->savingType = 1) parent::mysql($information);
       if ($this->savingType = 2) parent::file($information);
       if ($this->savingType = 0) echo "Logs saving type is unset.";
   }

 

vykdyti.php

include 'logger.php';

$logger = new Logger('mysql');
$logger->log("bla bla bla");

unset($logger);

$logger = new Logger('file');
$logger->log("bla bla bla");

 

localhost'e paleidus failą vykdyti.php gaunamos klaidos:

 

Warning: fopen(/logs/log.txt) [function.fopen]: failed to open stream: No such file or directory in /srv/www/development/other/__oth/logger/logger.php on line 75

Warning: fwrite() expects parameter 1 to be resource, boolean given in /srv/www/development/other/__oth/logger/logger.php on line 76

Warning: fclose() expects parameter 1 to be resource, boolean given in /srv/www/development/other/__oth/logger/logger.php on line 77


Nuoroda į pranešimą
Dalintis kituose puslapiuose

O kaip dėl duomenų bazės? Lentelėje taip pat įrašo nesukuria.

Na tai ir dadėk or die mysql_error ir žiūrėk kas blogai su query

mysql_query("INSERT INTO logs ('id', 'value') VALUES (NULL , ".$this->datetime().": ".$some_text.")") or die(mysql_error());

 

Edit: bandyk,

 

mysql_query("INSERT INTO logs (id, value) VALUES (0, '".$this->datetime()."', '".$some_text."')") or die(mysql_error());

Redagavo EdvinasJ
Nuoroda į pranešimą
Dalintis kituose puslapiuose

Prisijunkite prie diskusijos

Jūs galite rašyti dabar, o registruotis vėliau. Jeigu turite paskyrą, prisijunkite dabar, kad rašytumėte iš savo paskyros.

Svečias
Parašykite atsakymą...

×   Įdėta kaip raiškusis tekstas.   Atkurti formatavimą

  Only 75 emoji are allowed.

×   Nuorodos turinys įdėtas automatiškai.   Rodyti kaip įprastą nuorodą

×   Jūsų anksčiau įrašytas turinys buvo atkurtas.   Išvalyti redaktorių

×   You cannot paste images directly. Upload or insert images from URL.

Įkraunama...
  • Dabar naršo   0 narių

    Nei vienas registruotas narys šiuo metu nežiūri šio puslapio.

×
×
  • Pasirinkite naujai kuriamo turinio tipą...