tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
11
ZUGRIFFE
470
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Bambutscha Bambutscha ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    13
    Hallo alle zusammen,
    ich habe folgendes Problem. Ich habe mich erst seit ein paar Tagen mit php auseinandergesetzt.
    Nun habe ich soweit hinbekommen, das ich mein Template habe wo der Inhalt von anderen Seiten "Included" wird, dies funktioniert auch soweit und sieht wie folgt aus:

    PHP-Code:
        
           
    switch (isset($_GET['page']) ? $_GET['page'] : '') { 
             case 
    "news":
                include (
    "inc/news.php");
                break;
            case 
    "history":
                include (
    "inc/history.php");
                break;
            case 
    "live":
                include (
    "inc/live.php");
                break;
                    case 
    "live1":
                        include (
    "inc/live1.php");
                        break;
                    case 
    "live2":
                        include (
    "inc/live2.php");
                        break;
                    case 
    "live3":
                        include (
    "inc/live3.php");
                        break;
           
            case 
    "fanclub":
                include (
    "inc/fanclub.php");
                break;
            case 
    "gbook":
                include (
    "inc/gbook/index.php");
                break;
            case 
    "link":
                include (
    "inc/link.php");
                break;
            case 
    "contact":
                include (
    "inc/contact.php");
                break;
            default:
            case 
    "news":
                  include (
    "inc/news.php");
                break;

    Problem Nummer 1: Ich habe in der news.php ,unten, per include noch einen Counter eingefügt:
    PHP-Code:
    <?php @include_once("counter/counter.php"); ?>
    dieser wird aber auf der Homepage nicht angezeigt.
    hompage:http://www.beagnd.gnd-music.de/xxgndxx
    so sollte es aussehen: http://www.beagnd.gnd-music.de/gnd
    ___________________________________________________
    Problem Nummer 2: Youtube Videos werden nicht angezeigt.
    homepage: http://www.beagnd.gnd-music.de/xxgnd...php?page=video

    so sollte es aussehen:http://www.beagnd.gnd-music.de/gnd/video.html
    ___________________________________________________
    Problem Nummer 3: Ich will ein Gästebuch wie den Counter "includen".
    Dabei tritt folgender Fehler auf:
    Warning: filesize() [function.filesize]: stat failed for templates/read.php in /var/www/web66/html/beagnd/xxgndxx/inc/gbook/classes/class.Template.php on line 72

    homepage:http://www.beagnd.gnd-music.de/xxgnd...php?page=gbook
    so sollte es aussehen:http://www.beagnd.gnd-music.de/gnd/g-book.php

    wenn ich jetzt den fad bis zur Indexdatei des Gästebuchs angebe:
    http://www.beagnd.gnd-music.de/xxgndxx/inc/gbook/
    erscheint der Fehler nicht.

    der Code zu dem oben erwähnten Fehler sieht wie Folgt aus:

    PHP-Code:
    # read_file()
     #
     # Einlesen einer Vorlagendatei und {INCLUDE}-Anweisungen ggf. verarbeiten
     # (Text wird an bereits vorhandenen Text angehaengt)
     #
     # Parameter: 1. Datei zum Einlesen
     #            2. Status-Code (Boolean):
     #               true  => {INCLUDE}-Anweisungen nicht verarbeiten
     #               false => {INCLUDE}-Anweisungen verarbeiten (Standard)
     #
     # Rueckgabe: -nichts- (Template-Objekt wird modifiziert)

     
    function read_file($file,$not_include=0)
     {
      
    $this->file $file;

      if(
    filesize($file) > 0)
      {
       
    $fp fopen($file,'r');
       if(!
    $fp) die;
       
    $content fread($fp,filesize($file));
       
    fclose($fp);
      }
      else 
    $content '';

      
    $this->add_text($content);
      if(!
    $not_include$this->parse_includes();
     } 

    genauer gesagt ist das die Zeile 72 :
    PHP-Code:
     if(filesize($file) > 0
    Wenn ich die oben erwähnten 3 Teile in eine Kopie des Templates packe, dann funktionieren sie, jedoch wenn ich sie die Template-Datei "Include" treten die aufgeführten Fehler auf. Ich Hoffe ihr könnt mir weiterhelfen

    Im anhang habe ich auch nochmal den Gesamten ordner mit allen dateien.
    Angehängte Dateien Angehängte Dateien
     

  2. #2
    Avatar von saftmeister
    saftmeister saftmeister ist gerade online Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    Hi,

    erste Gegenfrage: hast du display_errors auf 1 sowie error_reporting auf E_ALL?

    Zu Problem 1:

    Entferne mal das '@' vor dem Include und teile mit, ob ein Fehler angezeigt wird (file does not exist oder etwas in der Art).

    Zu Problem 2:

    Versuche erstmal, deinen HTML-Code zu reparieren. Der strotzt nur so von Fehlern. Möglicherweise ist eine Ursache des Problems dort zu finden.

    Zu Problem 3:

    Siehe Problem 1, entferne das '@' vor dem include und schau, ob ein Fehler ausgegeben wird.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  3. #3
    Bambutscha Bambutscha ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    13
    zu deiner Gegenfrage
    hast du display_errors auf 1 sowie error_reporting auf E_ALL?
    Die beiden Sachen finde ich in der php.ini oder? Und die php.ini ist auf dem Server?
    Wenn ich aber nur einen Ordner auf dem Server habe, für meine Page, dann müsste ich dafür den Inhaber des Servers nach der php.ini Fragen oder?

    Zu Problem 1, 3:
    Ich habe das "@" mal entfernt, dies hat keinerlei Änderungen gebracht. Werder das es funktioniert, noch das eine Fehlermeldung erscheint.

    Zu Problem 2:
    Ich weiß jetzt nicht welchen fehlerhaften HTML code du meintes. Aber ich habe den HTML code der video.php strukturiert und überflüssige teile entfehrnt. Und jetzt funktioniert das schon einmal.
    Hompage: http://www.beagnd.gnd-music.de/xxgndxx
    /mindex.php?page=video


    auf den verdacht hin, das der Fehlerhafte HTML Code die Ursach für PRoblem 1,3 sein könnten habe ich die ganze sache stark vereinfacht:
    PHP-Code:
    <html>
    <head>

    <title></title>
    </head>

    <body>
    <table width="70%" border="0">
      <tr>
        <td width="20%"><li><a href="index.php?page=news">News</a></li>
            <li><a href="index.php?page=video">Video</a></li>
            <li><a href="index.php?page=gbook">gbook</a></li>
        
        </td>
        <td width="80%"><?php
        
           
    switch (isset($_GET['page']) ? $_GET['page'] : '') { 
             case 
    "news":
                include (
    "inc/news.php");
                break;
            case 
    "history":
                include (
    "inc/history.php");
                break;
            case 
    "live":
                include (
    "inc/live.php");
                break;
                    case 
    "live1":
                        include (
    "inc/live1.php");
                        break;
                    case 
    "live2":
                        include (
    "inc/live2.php");
                        break;
                    case 
    "live3":
                        include (
    "inc/live3.php");
                        break;
           
               case 
    "video":
                include (
    "media/video.php");
                break;
            case 
    "fanclub":
                include (
    "inc/fanclub.php");
                break;
            case 
    "gbook":
                include (
    "inc/gbook.php");
                break;
            case 
    "link":
                include (
    "inc/link.php");
                break;
            case 
    "contact":
                include (
    "inc/contact.php");
                break;
            default:
            case 
    "news":
                  include (
    "inc/news.php");
                break;
    }

        
        
    ?> </td>
      </tr>
    </table>
    </body>
    </html>
    der link dazu : http://www.beagnd.gnd-music.de/test/index.php?page=news

    jedoch bestehen die Beiden Probleme weiterhin.
    Im Anhang ist auch noch mal die vereinfachte Version.
    Angehängte Dateien Angehängte Dateien
     

  4. #4
    Avatar von saftmeister
    saftmeister saftmeister ist gerade online Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    Füge mal das an den Anfang der Datei:

    PHP-Code:
    error_reportingE_ALL );
    ini_set('display_errors'1); 
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  5. #5
    Bambutscha Bambutscha ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    13
    Das hat keinerlei Änderung berwirkt.
    Ich habe dies jetzt an den Anfang der index.php eingefügt, war doch richtig oder?
     

  6. #6
    Avatar von saftmeister
    saftmeister saftmeister ist gerade online Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    Ok, machen wir das Schritt für Schritt:

    Problem 3:

    Hast du schon untersucht, welcher Wert als Parameter an diese Methode read_file() übergeben wird? Innerhalb der Methode mal ein var_dump() auf $file machen und Ausgabe untersuchen/posten.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  7. #7
    Bambutscha Bambutscha ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    13
    Also zu deiner ersten Frage, sry aber ich habe keine Ahnung wie ich das herausfinde.

    als ich var_dump() auf $file angewendet habe.
    PHP-Code:
    function read_file($file,$not_include=0)
     {
      
    $this->file $file;
      
    var_dump($file); 
    wenn das so richitg ist, kam dieser Fehler zu dem anderen dazu: string(18) "templates/read.php"
     

  8. #8
    Avatar von saftmeister
    saftmeister saftmeister ist gerade online Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    Hi,

    dann fehlt also in dem Ordner "templates" die Datei "read.php". Wo auch immer die sein soll, sie ist anscheinend nicht da, wo sie erwartet wird. Passen evtl noch irgendwelche Pfad-Einstellungen in der Configuration deines CMS nicht?
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

  9. #9
    Bambutscha Bambutscha ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    13
    also die read.php ist da und die pfadangaben sind auch alle richtig. Ich finde es merkwürdig, dasalles funktioniert, wenn ich die index.php des g-books direkt aufrufe, jedoch nicht, wenn ich sie über ein include aufrufe

    Gibt es noch ne gute andere Möglichkeit die andere php dateien zu includieren, außer die die ich verwendet habe?
     

  10. #10
    Avatar von Loomis
    Loomis Loomis ist offline Mitglied Bunt
    Registriert seit
    Jul 2002
    Ort
    Aschaffenburg
    Beiträge
    1.538
    Hi,

    zeig doch mal die Ordnerstruktur. counter/counter.php liegt das innheralb von inc/?
     
    mfg
    --------------------------------------------------------------------------------
    Kein Support via PN, Email, ICQ, Brieftaube oder Flaschenpost!

    Besucht den tutorials.de-Chat | Anleitung
    RTFM - PHP-Handbuch - MySql Handbuch
    --------------------------------------------------------------------------------
    Surftipp...Der Postillon
    --------------------------------------------------------------------------------
    Signatur v2.2

  11. #11
    Bambutscha Bambutscha ist offline Mitglied
    Registriert seit
    Apr 2007
    Beiträge
    13
    jap liegt er:

    /test
    -index.php
    -/inc
    --news.php
    --guestbook.php
    --/counter
    ---counter.php
    --/gbook
    ---index.php
     

  12. #12
    Avatar von saftmeister
    saftmeister saftmeister ist gerade online Der Saft sei mit dir
    tutorials.de Premium-User
    Registriert seit
    May 2006
    Ort
    There is no place like 127.0.0.1
    Beiträge
    3.521
    Zitat Zitat von Bambutscha Beitrag anzeigen
    also die read.php ist da und die pfadangaben sind auch alle richtig.
    Anscheinend nicht, sonst würde kein Fehler auftauchen. Das es funktioniert, wenn du /xxgndxx/inc/gbook aufrufst, zeigt ja, das die Pfade nicht stimmen können. Die index.php liegt nun einmal in einem anderen Ordner, nämlich /xxgndxx. Man kann hier nur versuchen, mal den Pfad von read_file.php umzubiegen. Dazu müsste man wissen, ob und in welchen möglichen Ordnern das Verzeichnis templates liegt. Evtl sollte man, wo diese Datei includiert wird, mal mit einem absoluten Pfad arbeiten. Dann wird das sehr wahrscheinlich auch funktionieren.
     
    Grüße
    --
    Qualität des Codes wird in WTF's/Min gemessen: Je mehr, desto schlechter der Code ;-)

Ähnliche Themen

  1. Antworten: 0
    Letzter Beitrag: 19.01.08, 15:21
  2. Template System & include Befehl
    Von schleckerbeck im Forum PHP
    Antworten: 8
    Letzter Beitrag: 08.11.07, 19:58
  3. Html Template zu Flash Template konvertieren
    Von ExNoir im Forum Flash Plattform
    Antworten: 2
    Letzter Beitrag: 30.08.05, 17:53
  4. include / Template Problem
    Von xtoph im Forum PHP
    Antworten: 11
    Letzter Beitrag: 13.10.04, 11:33
  5. include + template
    Von pogo im Forum HTML & XHTML
    Antworten: 2
    Letzter Beitrag: 02.10.01, 15:54

Stichworte