Jeg er ved at lave min første klasse, men jeg kan ikke se hvad den skulle fejle?
Jerg får ingen fejl meddelse, men den opdaterer bare ikke min database:s Ved ikke lige hvad der sker!!
Her er min kode
<?php
class DB {
var $user;
var $database;
var $conn;
function DB($user, $database){
$this->user = $user;
$this->database = $database;
}
function MySQL() {
$this->conn = mysql_connect("localhost","$this->user");
mysql_select_db("$this->database",$this->conn);
}
}//Class DB lukkes
class Sitewatcher {
var $url;
var $ip;
var $tid;
var $dbconn;
function Sitewatcher($url) {
$this->url = $url;
$this->ip = $_SERVER['REMOTE_ADDR'];
$this->tid = date("d.m.y G:i:s");
$this->dbconn = DB::MySQL();
}
function updateDB(){
$this->dbconn;
mysql_query("insert into site_watcher (ip, tid, url) values('$this->ip' , '$this->tid' , '$this->url') ");
}
} //Class Sitewatcher lukkes
$a = new DB("root" , "site_watcher");
$a-> MySQL();
$b = new Sitewatcher("www.xxx.dk");
$b->updateDB();
?>
Kan i se fejlen?
MxS @ http://mxs.frac.dk
Slamkodning for fred
Har ingen forstand på OOP i PHP, men kan det være fordi at konstruktøren er en funktion? Du kan jo også prøve at sætte en or die(mysql_error()) på!
Hilsen Mathias
[Redigeret d. 10/04-04 07:48:14 af Mathias Knudsen]
Fandt ud af det. Jeg lavede den lidt om. Nu ser den sådan her ud:
<?php
class DB {
var $user;
var $database;
function DB($user, $database) {
$this->database = $database;
$this->user = $user;
}
function MySQL() {
$conn = mysql_connect("localhost","$this->user");
mysql_select_db("$this->database",$conn);
}
}//Class DB lukkes
class Sitewatcher {
var $url;
var $ip;
var $tid;
var $database;
function Sitewatcher($database) {
$this->url = $_SERVER['PHP_SELF'];
$this->ip = $_SERVER['REMOTE_ADDR'];
$this->tid = time();
$this->database = $database;
}
function show_hits($database) {
$hent = mysql_query("select count(ip) as tael_ip from $database where ip = '$this->ip' and url = '$this->url'");
$array_der_skal_taelles = mysql_fetch_array($hent);
$taeller = $array_der_skal_taelles['tael_ip'];
print("<br>Du har set denne side $taeller gange");
}
function updateDB($database){
mysql_query("insert into $database (ip, tid, url) values('$this->ip' , '$this->tid' , '$this->url')");
}
function DoSetup() {
Sitewatcher::updateDB($this->database);
Sitewatcher::show_hits($this->database);
}
} //Class Sitewatcher lukkes
$a = new DB("root","site_watcher");
$a-> MySQL();
$b = new Sitewatcher($a->database);
$b-> DoSetup();
?>
Hvis i vil bruge den kan i da lige få mysql tabellen her
#
# Struktur dump for tabellen `site_watcher`
#
CREATE TABLE site_watcher (
id int(255) NOT NULL auto_increment,
ip text NOT NULL,
tid text NOT NULL,
url text NOT NULL,
PRIMARY KEY (id)
) TYPE=MyISAM;
Hehe
MxS @
http://mxs.frac.dkSlamkodning for fred