Zum Inhalt springen

variablen werden nicht übergeben


Empfohlene Beiträge

Hallo, habe ein kleines Problem mit einem Script.

Aber hier erstmal der Aufbau:

Die datei parameters.php wird in der index.php per require_once includet.

Die datei config.php und db.class.php werden in der parameters.php per require_once includet.

require_once('../config.php');
require_once('../db.class.php');
[/PHP]

In der config.php sind diverse einstellungen wie z.B. SQL host usw. und werden wie folgt getätigt:

[PHP]$dbHost = 'localhost'
$dbUser = 'root'
$dbPw = '123456'

Die Variablen sollen nun in die db.class.php übergeben werden, daher wird die config.php in der parameters.php als erstes includet.

Die db.class.php sieht ungefähr so aus:


class db
{
public static function query($sData) {
define('DB_USER', $dbUser);
define('DB_PASSWORD', $dbPw);
define('DB_HOST', $dbHost);
$sqlConnect = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD) OR die('Zurzeit keine Verbindung zum Host!');
$sqlSelectDb = mysql_select_db($sData, $sqlConnect) OR die('die Datenbank '.$sData.' konnte nicht gefunden werden oder es besteht keine Verbindung zum Host');
}
}[/PHP]

Das Problem ist aber, das er $dbUser und $dbPw von der Config nicht in die klasse übergibt.

Habe schon mit echo $dbUser in der db.class.php versucht, doch da kommt nichts bei raus...also werden die variablen in der config nicht an die klasse übergeben.

Wende ich echo $dbUser z.B. in der index.php an, so wird mir der username gezeigt, wie es sein sollte.

lg Aoshi

PS.: Dies ist eine verkürzte form der klasse und daher nicht wirklich aktiv...jedoch habe ich alle relevanten dinge mit eingebracht, damit das problem eventuell gelöst werden kann.

PPS.: diese klasse soll einen SQL Server ansteuern und soll nur eine verbindung herstellen, wenn diese benötigt wird, z.B. in logins usw. und damit sie OO ist.

Bearbeitet von Aoshi
Link zu diesem Kommentar
Auf anderen Seiten teilen

Du kannst Variablen nicht so in die Klasse hinbringen. Ich frage mich gerade welchen Sinn Du damit verfolgst.

Warum deklarierst Du nicht einfach Deine Zugangsdaten als Konstanten? Wenn Eigenschaften einer Klasse unveränderbar deklariert werden sollen, dann deklariert man die Eigenschaft als const und setzt keine globale Konstante mit define.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Sin ist, das es eine Config datei gibt, wo man alle benötigten einstellungen machen kann wie z.B. Server host, MySQL Host's, Username usw.

Da es mehrere und verschiedene einstellungsmöglichkeiten gibt, wollte ich es vereinfachen, indem ich eine config datei erstelle, wo er alle benötigten dinge herbekommen kann.

Wobei ich eh im moment das Problem habe, das er auch keine arrays in die index lässt, auch wenn die arrays includet werden......irgendwie funktioniert bei mir relativ wenig -.-

Also genau das gleiche wie vorher auch.

Die parameters.php wird in die index.php includet, in der parameters wird die datei arrays.php includet. Doch die arras kann ich in der index.php net nutzen.

lg Aoshi^^

Bearbeitet von Aoshi
Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Sin ist, das es eine Config datei gibt, wo man alle benötigten einstellungen machen kann wie z.B. Server host, MySQL Host's, Username usw.

Definiere alle Parameter als Konstanten oder wenn Du OOP Arbeitest bietet sich eine statische Klasse mit konstanten (const) Eigenschaften an.

irgendwie funktioniert bei mir relativ wenig -.-

Du scheinst das Scoping noch nicht verstanden zu haben.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...