.gettemplate Hilfe

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • .gettemplate Hilfe

    Hi, ich bin grad dabei meine erste HP zu basteln, aber irgendwie hängt der!

    Wo liegt das Problem:

    PHP-Code:
    <?php
    include ('inc\config.mysql.php');

    function 
    gettemplate($template,$endung="htm")

    {
    return 
    str_replace("\"","\\"",implode("",file($template_dir.$template.".".$endung)));
                                   
    }

    function dooutput(
    $template
    {
    echo 
    $template;
    }



    ?>

    <table border="
    0" cellpadding="0" cellspacing="0" width="1024">
    <tr>
        <td width="
    241" height="190" background="gfx/oben.jpg" colspan="2" valign="top">&nbsp;</td>
    </tr>
    </table>
    <table border="
    0" cellpadding="0" cellspacing="0" width="241">
    <tr>
        <td width="
    241" height="527" background="gfx/links.jpg" colspan="2" valign="top"><p>&nbsp;</p>
        <p>&nbsp; </p>
        <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    $navbox</p>
        <p>&nbsp; </p></td>
    </tr>
    </table>

    <?php
    eval ("
    \$navbox = \"".getTemplate("templates\navbox")."\";");
    ?>

  • #2
    Gegenfrage: Was ist das Problem? Was klappt nicht? Gibts eine Fehlermeldung?
    PHP Handbuch - MySQL Handbuch - PHP Einsteiger Tutorial - CSS Referenz - Browserunterstützung von CSS

    Kommentar


    • #3
      PHP-Code:
      echo $navbox
      drunter?!

      Kommentar


      • #4
        @Trashar

        Ne warscheinlich ...

        PHP-Code:
        dooutput($navbox); 
        ..

        Und wieso mit eval??
        Zuletzt geändert von Seccho; 01.05.2004, 15:55.
        _____________
        Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
        [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

        Kommentar


        • #5
          naja is genau das selbe
          vielleicht hat er php variabeln da drin
          naja ich nutze kein eval() zu langsam

          Kommentar


          • #6
            So hab schon mal eine Variable ($template_dir) angeben.

            In der php ist eine Tabelle und in der Tabelle steht $navbox, die späta mit einer *.htm file ersetzt wird. Naja der Code ist denk ich mal halb wegs ok.

            Naja, ich hab bloss "phpkit" kenntnisse. Das ist für mich ne neue Welt.

            Hier mein neuer Code:

            PHP-Code:
            <?php
            include ('inc\config.mysql.php');

            $template_dir="templates\"

            function gettemplate(
            $template,$endung="htm")

            {
            return str_replace("
            \"","\\"",implode("",file($template_dir.$template.".".$endung)));
                                           
            }

            function dooutput(
            $template
            {
            echo 
            $template;
            }



            ?>

            <table border="
            0" cellpadding="0" cellspacing="0" width="1024">
            <tr>
                <td width="
            241" height="190" background="gfx/oben.jpg" colspan="2" valign="top">&nbsp;</td>
            </tr>
            </table>
            <table border="
            0" cellpadding="0" cellspacing="0" width="241">
            <tr>
                <td width="
            241" height="527" background="gfx/links.jpg" colspan="2" valign="top"><p>&nbsp;</p>
                <p>&nbsp; </p>
                <p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            $navbox</p>
                <p>&nbsp; </p></td>
            </tr>
            </table>

            <?php
            eval ("
            \$navbox = \"".getTemplate("navbox")."\";");
            ?>
            Ich denke das ich die eine Veriable ($template) vergeben muss, muss mal suchen hier.

            Wäre nett wenn ihr mir weiter helfen könntet.

            MFG Dimenson

            Kommentar


            • #7
              So, jetzt hab ich es geschafft das keine Fehlermeldung mehr kommt.

              Doch der Platzhalter $navbox verwendet nicht die template!

              Hier nochmal meine neuen Codes :

              index.php:

              PHP-Code:
              <html>
              <table border="0" cellpadding="0" cellspacing="0" width="1024">
              <tr>
                  <td width="241" height="190" background="gfx/oben.jpg" colspan="2" valign="top">&nbsp;</td>
              </tr>
              </table>
              <table border="0" cellpadding="0" cellspacing="0" width="241">
              <tr>
                  <td width="241" height="527" background="gfx/links.jpg" colspan="2" valign="top">$navbox</td>
              </tr>
              </table>
              </html>
              <?php
              include ('inc\config.mysql.php');
              include (
              'inc\func.php');
              eval (
              "\$navbox.= \"".getTemplate("navbox")."\";"); 
              ?>
              func.php :

              PHP-Code:
              <?php

              $config
              ['template_dir']='templates';

              if (!
              function_exists('filecheck')) {
               function 
              filecheck($file) {
                if (!(
              $fp=@fopen($file,'r'))) {return FALSE;}
                else {
              fclose($fp); return TRUE;}
                }
               }

              if (!
              function_exists('FileSizeExt')) {
               function 
              FileSizeExt($file='',$ext='Byte',$size='0') {
                
              $size_ext=array('','K','M','G','T');
                if (
              $file!="") {$size=@filesize($file);}
                if (
              $size>0) {
                 
              $div=0;
                 while (
              $size >= pow(1024,$div)) $div++;
                 return 
              number_format(($size/pow(1024,$div-1)),1,",",".")." ".$size_ext[$div-1].$ext;
                 }
                else return 
              FALSE;
                }
               }


              if (!
              function_exists('getTemplate')) {
                function 
              getTemplate($tpl,$ext='') {
                  global 
              $config$template_cache$templ_count;

                  if (
              $ext!=''
                    
              $tname=$tpl.'.'.$ext;
                  else 
                    
              $tname=$tpl;

                  if (
              $template_cache[$tname]=='') {
                    
              $tplstr=$config['template_dir'].'/'.$tpl;
                    if (
              $ext!='') {
                        
              $tplstr.='.'.$ext
                        
              $ext=".".$ext;
                    }
                    
              $tplstr.='.htm';
                    if (
              $config['templatename']==1
                      
              $tplName="\n\n<!--\n".$tpl.$ext."\n-->\n\n";
                    else 
                      unset(
              $tplName);
                    if (
              filecheck($tplstr)) {
                      
              $template_cache[$tname]=$tplName.str_replace("\"","\\\"",implode("",file($tplstr))).$tplName;
                      
              $templ_count++;
                    }
                    else { 
                      echo 
              '<b>WARNING:</b> Template file "<b>'.$tname.'</b>" not found in '.$config['template_dir'].'<br />';
                    }
                  }
                  return 
              $template_cache[$tname];
                }
              }


              ?>
              navbox.htm :

              <img src="gfx/oben.JPG" width="129" height="139">

              Doch nichts geschiet.
              Auf der Seite wird bloss $navbox angezeigt.
              Hilfe, pls.

              Kommentar


              • #8
                Wie soll ich sagen...
                Template Systeme sind dazu da, damit man NICHT php code mit html vermischt. kein wunder wird da nix geparsed...

                Kommentar


                • #9
                  In der php ist eine Tabelle und in der Tabelle steht $navbox, die späta mit einer *.htm file ersetzt wird
                  Die Datei index.php wird nicht von der funktion geparsed. Wie soll nun $navbox ersetzt werden? Irgendwie hast Du wohl was falsch verstanden...

                  Arbeite doch mit include(), wäre meiner meinung hier i.O.
                  _____________
                  Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
                  [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

                  Kommentar


                  • #10
                    Ich hab leider keine Ahnung von parsen, kann mir jemand das erklären?

                    Was muss ich jetzt machen damit meine Hp auch so klappt??

                    Kommentar


                    • #11
                      Original geschrieben von Dimenson
                      Ich hab leider keine Ahnung von parsen, kann mir jemand das erklären?
                      english/deutsch wörterbuch benutzen?

                      Was muss ich jetzt machen damit meine Hp auch so klappt??
                      erstmal grundlagen lernen und nicht irgendwelchen (komischen) code kopieren ohne zu wissen, was passiert?
                      => www.shattenbaum.net/php
                      => www.php.net/manual
                      Kissolino.com

                      Kommentar


                      • #12
                        Erstmal bin ich total erfreut, das mir einer so schnell helfen konnte!?!?!?!

                        Ich mein ich bin grad in der Anfangs Stufe, ich bin schon seit Tagen daran.
                        Lese auch verdammt viel auf der Page http://www.php.net .

                        Was ich halt gern möchte ist, das mir ein paar endgegen kommen, mir Vorschläge machen und so !

                        Damit ich auch ein bisschen besser klar komm.

                        Kommentar


                        • #13
                          Damit ich auch ein bisschen besser klar komm.
                          Na dann geh mal zu schattenbaum und schreib code mit dem du klar kommst..!! Hast ja die funktionen wohl nicht selbst geschrieben...

                          PS: Wenn Du anfängst sport zu treiben läufts du beim ersten mal auch keinen triathlon über 200 km..
                          _____________
                          Ist das so? Scheinbar muss das so?! Oder ist es vielleicht viel leichter...
                          [color=red]Auch ich beantworte keine mails bei php problemen! Für das gibts ja das Forum!![/color]

                          Kommentar

                          Lädt...
                          X