php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2005

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 13.04.2005, 19:53  
Erfahrener Benutzer
 
Registriert seit: 23.11.2003
Beiträge: 179
Creativ
Standard OOP-Problem

Hi,
Habe gerade ein Problem mit OOP.

Habe eine kommentar-klasse. Hier der begin mit konstruktor:
PHP-Code:
<?php
class comments {
    var 
$commenttbl;
    var 
$lang;
    var 
$db_handler null;
    var 
$einstellungen;
    var 
$ipsperretbl;

    function 
comments($commenttbl=false,$lang=false, &$db_handler,$template_ordner=false,$einstellungen=false,$ipsperretbl=false) {
        if((
$template_ordner) && ($commenttbl) && ($lang)) {
            
$this->lang=$lang;
            
$this->commenttbl=$commenttbl;
            
$this->db_handler = &$db_handler;
            
$this->template_ordner=$template_ordner;
            
$this->einstellungen=$einstellungen;
            
$this->ipsperretbl=$ipsperretbl;
            return 
true;
        }else{
            return 
false;
        }
    }
?>
Das funktioniert auch alles einwandfrei. Nur jetzt mache ich noch eine admin-class dafür, also als erweiterung.
Hier wieder der Anfang:
PHP-Code:
<?php
class a_comments extends comments {    
    function 
a_comments($commenttbl=false,$lang=false, &$db_handler,$template_ordner=false,$einstellungen=false,$ipsperretbl=false) {
        
parent::comments();
    }
?>
Die beiden Klassen fange ich so an:
PHP-Code:
<?php
$comments_class
= &new comments($commentstbl,$lang,$db_handler,$template_ordner,$einstellungen,$ipsperretbl);
$admin_c= new comments($commentstbl,$lang,$db_handler,$template_ordner,$einstellungen,$ipsperretbl);

?>
Jetzt kriege ich aber folgenden Fehler:

Warning: Missing argument 3 for comments() in /home/www/web0/html/subdomains/ld-scripts/cms/class/comments.class.php on line 9


Was mache ich falsch?
__________________
Meine PHPInfo: http://www.ld-network.de/phpinfo.php

\/isit Me @ www.simrally.de
Creativ ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 13.04.2005, 20:10  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 2.150
Guradia befindet sich auf einem aufstrebenden Ast
Standard

parent::comments(); <- Parameter durchreichen
Guradia ist offline  
Alt 13.04.2005, 20:24  
Erfahrener Benutzer
 
Registriert seit: 23.11.2003
Beiträge: 179
Creativ
Standard

Danke

Habe jetzt aber noch ein anderes Problem:
Habe es jetzt so:
PHP-Code:
<?php
class a_comments extends comments {    
    function 
a_comments($commenttbl=false,$lang=false, &$db_handler,$template_ordner=false,$einstellungen=false,$ipsperretbl=false) {
        
parent::comments($commenttbl=false,$lang=false, &$db_handler,$template_ordner=false,$einstellungen=false,$ipsperretbl=false);
    }
?>
und beginne es so:
PHP-Code:
<?php
$admin_c
= &new a_comments($commentstbl,$lang,$db_handler,$template_ordner,$einstellungen,$ipsperretbl);
?>
Nur funktioniert die klasse $db_handler nicht in der admin-funktion.
In der normalen funktion (comments()) hatte es funktioniert, nur bei a_comments() geht es nicht mehr.

Kriege die Fehlermeldung:
Fatal error: Call to a member function on a non-object in /home/www/web0/html/subdomains/ld-scripts/cms/class/comments.class.php on line 94

Ach ja:
Wende es so an:
PHP-Code:
<?php
$comments
=$this->db_handler->sql_query("SELECT ID FROM $this->commenttbl ORDER BY Datum DESC");
?>
__________________
Meine PHPInfo: http://www.ld-network.de/phpinfo.php

\/isit Me @ www.simrally.de
Creativ ist offline  
Alt 13.04.2005, 20:39  
Waq
Erfahrener Benutzer
 
Registriert seit: 15.08.2004
Beiträge: 2.473
Waq
Standard

Parametervorbelegungen gehören nicht in den Funktionsaufruf:
parent::comments($commenttbl=false,$lang=false, &$db_handler,$template_ordner=false,$einstellungen =false,$ipsperretbl=false);
__________________
mod = master of disaster
Waq ist offline  
Alt 13.04.2005, 22:52  
Erfahrener Benutzer
 
Registriert seit: 18.07.2004
Beiträge: 2.162
PHP-Kenntnisse:
Fortgeschritten
Basti
Standard

Hallo.

Ich vermute mal, dass du den Konstruktor von comments nicht explizit aufrufst und damit a_comments::db_handle garnicht existiert.

Wie wäre es übrigends mal mit php5?

Basti
Basti ist offline  
Alt 14.04.2005, 13:15  
Erfahrener Benutzer
 
Registriert seit: 23.11.2003
Beiträge: 179
Creativ
Standard

hab es jetzt hingekriegt.
Lag daran, dass ich, wie Waq schon gesagt hat, beim aufrufen von parent::comments(..) schon die parameter belegt habe.

Und php5 geht nicht, weil es auf mehreren Server laufen muss, werde es aber so machen, dass wenn php5 installiert ist eine andere class genommen wird
__________________
Meine PHPInfo: http://www.ld-network.de/phpinfo.php

\/isit Me @ www.simrally.de
Creativ ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Galerie Problem... coraplanet PHP Tipps 2008 4 06.06.2008 13:42
Sessions Problem StephenKing PHP Tipps 2008 3 16.10.2007 08:30
datensätze defekt oder problem mit dem einlesen? Ministry Datenbanken 4 06.07.2006 18:42
problem!!! PHP Tipps 2006 6 08.02.2006 11:06
[Erledigt] wieder ein Problem bei phpmailer und smtp PHP Tipps 2006 24 07.02.2006 01:07
[Erledigt] Problem bei Massenmails versenden mit der Funktion mail PHP-Fortgeschrittene 3 19.01.2005 13:36
[Erledigt] Problem mit Übergabe einer Klasse in PHP4 PHP-Fortgeschrittene 10 08.01.2005 21:00
Problem mit Weiterleitung PHP Tipps 2004-2 16 22.12.2004 17:49
Smarty und PHP-Skript Problem PHP Tipps 2004-2 2 03.12.2004 22:27
[Erledigt] PHP Upload (Master Value/Local Value Problem) PHP-Fortgeschrittene 5 23.11.2004 07:21
Problem mit alter JavaScript-Funktion woods PHP Tipps 2004 1 13.08.2004 13:34
[Erledigt] Problem mit Timestamp! PHP Tipps 2004 24 08.06.2004 19:51
Login Problem PHP Tipps 2004 4 04.06.2004 18:46
foreach problem mAy^daY PHP Tipps 2004 3 02.06.2004 20:29


Alle Zeitangaben in WEZ +2. Es ist jetzt 11:47 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.