Tobias L.: Datenbank Verbindung includen

Hallo,

ich möchte eine Seite XHTML konform gestalten.
Ich möchte die Datenbankdaten in eine externe Datei auslagern, z.B. dbconnect.php und diese dann in das anzeigende PHP Dokument includen.

In dem anzeigenden Dokument muss ja folglich stehen:
<?php include("dbconnect.php"); ?>

In der dbconnect.php hab ich auch die ganzen Benutzerdaten in <?php ... ?> gesetzt, damit wenn zufällig jemand die Datei mit dem Browser anspricht, meine Benutzerdaten nicht lesen kann.

Wenn die Datei aber jetzt includet wird, sieht das ganze dann so aus:
<?php <?php ... ?> ?>

Und ich bekomm bei der Validierung Fehler angezeigt.

Gibt es eine schicke Möglichkeit, wie ich dies anders gestalten kann, ohne diese Verschachtelung?

Danke und Grüße
Tobias

  1. Hallo,

    könntest Du mal bitte Deine dbconnect.php posten! Wäre zum Fehlerfinden sinnvoll.

    Viele Grüße - der Binni

    1. <?php
       $dbconnect = mysql_connect ("Server", "BN", "PW");

      if (!mysql_select_db ("DB", $dbconnect)) echo = ("Keine Verbindung zur Datenbank");
      ?>

      Das wäre die dbconnect.php, aber die müsste ja eigentlich stimmen. Mir geht es ja um die <?php <?php ... ?> ?> Verschachtelung die durch das includen entsteht.

  2. echo $begrüßung;

    In dem anzeigenden Dokument muss ja folglich stehen:
    <?php include("dbconnect.php"); ?>

    Die Klammern sind nicht notwendig.

    In der dbconnect.php hab ich auch die ganzen Benutzerdaten in <?php ... ?> gesetzt, damit wenn zufällig jemand die Datei mit dem Browser anspricht, meine Benutzerdaten nicht lesen kann.

    Das muss auch schon deshalb so sein, weil PHP die Datei sonst als HTML betrachtet. Du musst in sämtlichen Include-Dateinen erst mit <?php in den PHP-Modus gehen.

    Wenn die Datei aber jetzt includet wird, sieht das ganze dann so aus:
    <?php <?php ... ?> ?>

    Nein, so sieht es nicht aus. PHP-intern wird zum Includen der PHP-Modus verlassen. Deswegen musst du ihn ja in der Include-Datei explizit wieder einschalten.

    Und ich bekomm bei der Validierung Fehler angezeigt.

    Was für eine Validierung meist du? Wenn du einen HTML-Validator meinst, dann bist du zu früh dran. Du darfst ihm nur das vorlegen, was nach der PHP-Bearbeitung rauskommt, also das von PHP generierte Dokument, das der Browser zu Gesicht bekommen soll.

    Gibt es eine schicke Möglichkeit, wie ich dies anders gestalten kann, ohne diese Verschachtelung?

    Diese Frage ist gegenstandslos.

    echo "$verabschiedung $name";