php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 23.08.2004, 10:03  
Erfahrener Benutzer
 
Registriert seit: 30.07.2004
Beiträge: 255
Stümper
Standard Problem mit Konstruktor

Hallo,

ich habe ein Problem mit dem Konstruktor. Obwohl ich die Klassenfelder im Konstruktor initialisiere, werden sie in einer anderen Funktion nicht erkannt:

Code:
 
class ConnectionToDB {
    var $host;
    var $user;
    var $password;
    var $database;

    function ConnectionToDB () {
        $host = "*";
        $user = "*";
        $password = "*";
        $database = "*";
    } 
    
    function open() {
        $connection = mysql_connect($host, $user, $password) or die(mysql_error());
        mysql_select_db($database) or die(mysql_error ());
        return $connection;
    }

    function close($connection) {
        $closed = mysql_close($connection)  or die(mysql_error());
        return $closed;
    }
}
Das Problem ist, dass die Funktion open() die Werte der Variablen nicht kennt, die im Konstruktor intitialisiert werden. Ich kann mir aber nicht erklären, warum das so ist. die Variablen wurden doch auf Klassenebene vereinbart. (Ich bin mir bewusst, dass mein Konstruktor so nicht viel Sinn macht, die Werte sind ja nicht flexibel. Aber im Moment reicht mir das, es wäre ja schnell geändert.)
Stümper ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 23.08.2004, 10:16  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 529
DutziMan befindet sich auf einem aufstrebenden Ast
Standard

Du hast sie allerdings nur innerhalb der Funktion definiert.
PHP-Code:
<php

$this
->host 'localhost';

?> 
Dann klappt das auch
DutziMan ist offline  
Alt 23.08.2004, 11:07  
Erfahrener Benutzer
 
Registriert seit: 30.07.2004
Beiträge: 255
Stümper
Standard weiteres Problem

ja besten Dank für den Tip, der Zugriff geht jetzt. (Ich habe mit Java angefangen, da muss man jedoch die Variablen explizit deklarieren.)

aber es passiert etwas sehr Merkwürdiges: in den Variablen $user, $password, $host, $database steht dann jeweils derselbe Wert. Das raffe ich nun überhaupt nicht.
Stümper ist offline  
Alt 23.08.2004, 11:09  
Gast
 
Beiträge: n/a
Standard

Code:
    function ConnectionToDB () {
        $host = "*";
        $user = "*";
        $password = "*";
        $database = "*";
    }
wundert dich das?
 
Alt 23.08.2004, 11:11  
Gast
 
Beiträge: n/a
Standard

PHP-Code:
<?php
/////////////////////////////////////////////
//        Name: class.conf.php
//        05.08.2004
//        written by J.Mueller SWBulletin.De
//        mail: [email]info@swbulletin.de[/email]
/////////////////////////////////////////////
require_once('inc.php');

class 
conf {
    
    
// Hier die DB Daten eintragen
    
    
var $dbuser 'a';                            // Username
    
var $dbpass 'b';                            // Passwort
    
var $dbname 'test';                            // Datenbank
    
var $dbhost 'localhost';                        // Host der Datenbank
    
var $email 'xxx@xxx.de';                    // Ihre eMail ( Administrator )
    
var $pagename 'TEST';                        // der Name Ihrer Homepage
    
var $pre '';                                // Tabellen prefix



    // Hier bitte nichts weiter veraendern
    
    
function con () {
        
$dbconnect = @mysql_pconnect($this->dbhost,$this->dbuser,$this->dbpass) or die("Datenbankverbindung fehlgeschlagen/MySql connection has failed");
        @
mysql_select_db($this->dbname,$dbconnect) or die("Zugriff zur Datenbank verweigert!/Access to database failed");
        return 
$dbconnect;
    }
}
?>
meine lösung war in etwa so ...
 
Alt 23.08.2004, 11:12  
Erfahrener Benutzer
 
Registriert seit: 30.07.2004
Beiträge: 255
Stümper
Standard ??

Man könnte es meinen, jedoch habe ich hier Sternchen hingeschrieben, um meine Daten wie z.B. ein PASSWORT nicht preiszugeben. Selbstverständlich stehen im Code verschiedene Werte.
Stümper ist offline  
Alt 23.08.2004, 11:21  
Erfahrener Benutzer
 
Registriert seit: 30.07.2004
Beiträge: 255
Stümper
Standard Variablen überschrieben?

Hallo.

ich glaube, die letzte Zuweisung zu $database im Konstruktor überschreibt alle anderen Variablen. Wieso? Warum? hääääääääää?
Stümper ist offline  
Alt 23.08.2004, 11:24  
Gast
 
Beiträge: n/a
Standard

mach doch Zuweisung UND deklaration in einem ausserhalb der funktion
 
Alt 23.08.2004, 11:27  
Erfahrener Benutzer
 
Registriert seit: 30.07.2004
Beiträge: 255
Stümper
Standard Idee des Konstruktors

ja aber der Konstruktor ist doch genau dazu da. Das müsste doch gehen! Ich sehe den Fehler einfach nicht? Was mache ich denn falsch?
Stümper ist offline  
Alt 23.08.2004, 11:33  
Gast
 
Beiträge: n/a
Standard

die Zuweisung besteht in einer eigenen Funktion und ohne return

dann müsste man es aufrufen in etwa so


ConnectionToDB ::ConnectionToDB (); // Funktion aufrufen um den Varablen den Wert zu zuweisen
 
 


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

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
konstruktor php return, javascript konstruktor geht nur einmal, php konstruktor return, php konstruktor problem, http://www.php.de/php-tipps-2004/7509-problem-mit-konstruktor.html, konstruktor wird nicht erkannt

Alle Zeitangaben in WEZ +2. Es ist jetzt 05:55 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.