Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Empfohlene Antworten

Veröffentlicht

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

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.

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

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.

@herzbert: vielen dank, funktioniert super.

jetzt muss ich das alles nur noch abändern und dann geht es weiter im text^^

lg Aoshi

Ist zwar vielleicht schön, aber ganz persönlich würde ich dir abraten von diesen "globals", und lieber ein Construktor schreiben dem du ein Array übergibst das du mit

PHP: parse_ini_file - Manual

füllst.

gruß Herzbert

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.