1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

include_once / Gedanken Fehler

Dieses Thema im Forum "PHP" wurde erstellt von forum-user, 19. September 2016.

  1. forum-user

    forum-user Mitglied

    Hallo Leute, ich habe gerade einen gedanklichen Klemmer.
    Ich sitz über einem kleinen Projekt, was auf folgender Ordner Struktur aufbaut und bei Strato gehostet wird.
    Dazu muss ich noch erwähnen, das beim Domain Aufruf, es per Strato auf https://www.ssl-id.de/DOMAINNAME.DE/ weitergeleitet wird.

    |_assets
    |_design
    |_css
    |_image
    |_tpl​
    |_Kundenbereich
    |_index.php​
    |_configuration.php
    |_index.php

    Hier der Aufbau der configuration.php
    PHP:
    1. <?php
    2. defined( 'IN4F' ) or die( 'Restricted access' );
    3.  
    4. // Session für alle Seiten erzeugen
    5.  
    6. // Datenbank
    7. define ('MEX_DB_USER','*****');
    8. define ('MEX_DB_PASSWORD','*****');
    9. define ('MEX_DATABASE','*****');
    10. define ('MEX_HOST','*****');
    11.  
    12. // URL der Seite
    13. define ('MEX_PATH', '');
    14.  
    15. // Template Verzeichnis
    16. define ('MEX_TEMPLATE_DIR','design/tpl/');
    17.  
    18. // notwendige Funktionen              
    19. include_once ('assets/func_html.php');
    20. include_once ('assets/func_database.php');
    21. include_once ('assets/func_form.php');
    22. //
    23. $Fehlermeldung = '';
    24. ?>

    Solange ich mich im ROOT Verzeichnis befinde, funktioniert der include_once in der index.php

    PHP:
    1. // falls config vorhanden...dann einbinden
    2. // @var bool
    3. define('IN4F', true);
    4.  
    5. require_once('configuration.php');
    6. $template_file = MEX_TEMPLATE_DIR.'index';
    7. //Template einbinden
    8. if (!file_exists($template_file.'.tpl')){
    9.    // keine $template_file gefunden
    10.     echo'<h1>Fehler:</h1>';
    11.     echo 'Die Datei '.$template_file.'.tpl wurde nicht gefunden!<br/>';
    12.    die;
    13. }
    14. else {
    15.       include($template_file.'.tpl');
    16. }
    Befinde ich mich jedoch im Verzeichnis Kundenbereich und rufe da die Index.php auf, wird die Design Datei zwar heran gezogen, jedoch sämtliche Funktionen, welche ich per configuration.php mit einbinde, werden nicht aufgerufen.

    Hier die index.php vom Kundenbereich
    PHP:
    1. // falls config vorhanden...dann einbinden
    2. // @var bool
    3. define('IN4F', true);
    4.  
    5. include_once('../configuration.php');
    6. include_once('../assets/CryptClass.php');
    7.  
    8. // Suchen wurde gedrückt
    9.     if(isset($_POST['anmelden'])&& isset($_POST['txt_kundennummer']) && isset($_POST['txt_passwort'])){
    10.         try{
    11.             header("Location: test2.php");
    12.         }
    13.         catch (Exception $e)  {
    14.             $Fehlermeldung = return_error($e->getMessage());
    15.         }    
    16.     }
    17.  
    18.  
    19. $template_file = '../'.MEX_TEMPLATE_DIR.'index_kunden_login';
    20. //Template einbinden
    21. if (!file_exists($template_file.'.tpl')){
    22.    // keine $template_file gefunden
    23.     echo'<h1>Fehler:</h1>';
    24.     echo 'Die Datei '.$template_file.'.tpl wurde nicht gefunden!<br/>';
    25.    die;
    26. }
    27. else {
    28.       include($template_file.'.tpl');
    29. }
    Wo habe ich hier meinen Denkfehler.
     
  2. forum-user

    forum-user Mitglied

    Durch eine Session ist der Fehler der Kundenbreich/index.php ersichtlich geworden.:)
    Die configuration.php im Stammverzeichnis hatte einen BOM. :oops:
     
Die Seite wird geladen...