Include Verbindung

Hallo

Ich habe eine Datei ->verbindung.php in dieser sind die Variablen für die Verbindung definiert, User, Host etc.
Diese Datei befindet sich im Ordner „conn“.

Weiterhin eine Datei session.inc.php im Hauptverzeichnis.
Diese Datei includiert
· require_once(‘adodb/adodb-session.php’); und
· require_once(conn/verbindung.php’)

In der Indexdatei Index.php includiere ich die
· include(‘session.inc.php’);
· require_once(conn/verbindung.php’)

In der Datei adodb-session.php im Ordner adodb wollte ich auch die verbindung includieren.

Wenn ich, nachdem ich in adodb-session.php require_once(conn/verbindung.php’) eingefügt habe, die Indexdatei aufrufen will bekomme ich fogenden Fehler.
„Failed opening required conn/verbindung.php’ „

Die Datei ist doch aber da.

Vielen Dank für die Hilfe
GD

versuchs mal so:

oder so:

[size=85]Edit hoppla, ich hab überall inc.sessions.php geschrieben, einfach nach session.inc.php umdenken ^^[/size]

ich verstehe nicht ganz…
Du hast die inc.session.php, und diese bindet die Dateien ein?

require_once('adodb/adodb-session.php'); require_once('conn/verbindung.php');
Besser wäre es aber wohl, wenn du es andersrum machst:

require_once('conn/verbindung.php'); require_once('adodb/adodb-session.php');

erstmal brauchst du in der index Datei nicht nochmal die verbindung.php einbinden, wenn du das schon in der inc.sessions.php gemacht hast. d.h. in der index.php brauchst du lediglich die inc.sessions.php einbinden, und dort werden dann verbindung und adodb eingebunden, und stehen somit auch in index.php zur Verfügung.

zweitens denk ich mal nicht, dass du in der adodb noch zusätzlich die Verbindung.php einbinden brauchst, wenn du das alles über die inc.sessions.php laufen lassen willst.
Hältst du die Reihenfolge oben ein, wird zuerst die Verbindung hergestellt, und diese ist dann im nächsten include (adodb) ebenfalls zur Verfügung gestellt.

Würdest du das so machen, wie DU es beschrieben hast, würde beim aufruf der index.php folgendes passieren, in der Reihenfolge:

[code]- index.php bindet inc.sessions.php ein

    • inc.sessions.php bindet adodb ein
      • adodb bindet verbindung das erste mal ein
    • inc.sessions.php bindet verbindung das zweite mal ein
  • index.php bindet verbindung das dritte mal ein[/code]

stattdessem solltest du in der inc.session.php einfach die Reihenfolge bisschen anpassen
Die Daten aus der verbindung.php sollten als erstes vorhanden sein, damit diese auch für adodb zur verfügung stehen:

[code]- index.php bindet inc.sessions.php ein

    • inc.sessions.php bindet verbindung.php ein
    • inc.sessions.php bindet adodb ein[/code]

mehr brauch man nicht.
Wenn du einmal was eingebunden hast, dann sind die dort definierten Variablen, funktionen und Konstanten, auch in den nachfolgenden includes verfügbar.

mfg Balmung

Hallo Balmung,

vielen Dank für die Mühe die Du Dir gemacht hast.

Das ist alles richtig was Du schriebst und funktionierte.
Ich dachte mir schon das ich alles nur einmal brauchte, aber ich dachte auch require_once macht das doppelte nicht so schlimm. Falsch gedacht.

Ich muss aber noch einmal alles genau durchdenken, ich hatte die Login.php im Ordner seiteverein vergessen
require_once(’…/adodb/adodb-session.php’);
require_once(’…/conn/verbindung.php’);

Ich versuch heute Abend, das ganze wie ein Flussdiagramm zu Papier zubringen…
Ansonsten bringe ich das in Deine Form und schreibe die verbindungsvariablen in die adodb/adodb-session.php fest rein.

Vielen Dank
GD

Hi,

ich habe die Login.php aus dem Ordner seiteverein genommen und die session.inc.php includet.
Jetzt habe ich alles so wie im Beitrag von Balmung.
Plus die Login.php.
Nur die login.php muss in den Ordner “seiteverein”, dann kommt aber die Fehlermeldung wie im Einstiegsbeitrag beschrieben.

Ich bin ein bissel ratlos.

GuckstDu mit besten Grüßen