Template Parser - PHP einfügen?

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

  • Template Parser - PHP einfügen?

    Hi,

    wie kann ich in dem Tutorial "Template Parser (Anfänger)"
    http://www.tutorials.de/tutorials23173.html

    einen PHP Code einfügen?
    Diesen hier möchte ich gerne einbauen, was ja nicht in dem HTML Temlate geht:

    $conn = mysql_connect("localhost", "xxxxxx", "xxxxxx");
    mysql_select_db("xxxxxx",$conn);

    $q = mysql_query("SELECT pic_id, pic_username FROM phpbb_album ORDER BY RAND()");
    $data = mysql_fetch_array($q);
    $id = $data['pic_id'];
    $username = $data['pic_username'];
    <?php echo $id; ?>
    <?php echo $username; ?>
    Also das ich die echo Ausgaben mit Platzhaltern im Template einfügen kann.

  • #2
    wie kann ich in dem Tutorial "Template Parser (Anfänger)" http://www.tutorials.de/tutorials23173.html einen PHP Code einfügen?
    Ich denke, das geht gar nicht. Ansonsten hätten die werten Kollegen ein derbes Sicherheitsproblem mit ihrem Server!

    Kommentar


    • #3
      du musst die werte in das array speichern und das dann an die klasse übergeben. steht ja im tutorial. beispiele angucken.


      @TobiaZ: Jo, wenn man es wörtlich nimmt, hast du vollkommen recht
      Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
      var_dump(), print_r(), debug_backtrace und echo.
      Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
      Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
      Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

      Kommentar


      • #4
        @Shurakai

        kannst du mir mal ein Beispiel posten wie ich meinen code hier einfüge?
        Bin schon den ganzen Tag am hin und herprobieren:

        PHP-Code:
        <?php
         
        //Script zum zeilenweisen Parsen von HTML Templates
         //20.03.2003 Nils 'Jonathan' Adomeit LV1.2

         //Einbinden der Template Klasse
         
        include("tpl_parser.inc.php");

         
        //Uservariablen f&uuml;r den Datenbankzugang
         
        $mysql["host"] = "localhost";
         
        $mysql["user"] = "xxxxxxxxx";
         
        $mysql["password"] = "xxxxxxxx";
         
        $mysql["database"] = "xxxxxxxx";

        //Definition der KATEGORIE, Wenn keine KAT uebergeben wurde 
        //nimmt das System die Standard KAT 
        if(!isset($_GET["kat"])){ $kat home; } 
        if(!isset(
        $kat)){ $kat $_GET["kat"];} 

        //Datenbankverbindung aufbauen und Datenbank auswaehlen 
        mysql_connect($mysql["host"],$mysql["user"],$mysql["password"]); 
        mysql_select_db($mysql["database"]); 

        //Datenbankabfrage zusammenstellen 
        $sql "SELECT * FROM doc_desc, doc_text " 
              
        "WHERE doc_desc.kat = doc_text.kat AND doc_text.kat = '".$kat."'"

        //Datenbank wird abgefragt 
        $_result mysql_query($sql) or die("Fehler: ".mysql_error()."<br>SQL-QUERY: ".$sql); 
        //Das Ergebniss wird in dem Feld ($_array) gespeichert
        if(mysql_num_rows($_result) != 1

            
        $sql "SELECT * FROM doc_desc, doc_text " 
              
        "WHERE doc_desc.kat = doc_text.kat AND doc_text.kat = 'home'"
            
        $_result mysql_query($sql); 
        }
        $_array mysql_fetch_assoc($_result); 

        //Definition der Variablen durch die die Platzhalter ersetzt werden. 
        $title    $_array["title"]; 
        $css      $_array["css"]; 
        $template $_array["template"]; 
        $text     $_array["text"]; 

        //Array mit den Platzhaltern (Keys) und den Inhalten. 
        $var_array = array("TITLE" => $title
                            
        "CSS" => $css
                            
        "TEXT" => $text); 

        //Initialisierung der Klasse und Parsen des Templates 
        $tpl = new parser($template$var_array);

        ?>

        Kommentar


        • #5
          Du musst $var_array erweitern mit den Platzhaltern + deren Daten.

          Weißt du was ein Array ist? Dann weißt du auch wie man es erweitert, dürfte also kein Problem für dich sein
          Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
          var_dump(), print_r(), debug_backtrace und echo.
          Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
          Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
          Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

          Kommentar


          • #6
            Das Script nutzt eine andere Datenbank, wohin damit?

            PHP-Code:
            $conn mysql_connect("localhost""xxxxxx""xxxxxx");
            mysql_select_db("xxxxxx",$conn);

            $q mysql_query("SELECT pic_id, pic_username FROM phpbb_album ORDER BY RAND()");
            $data mysql_fetch_array($q); 
            Ich hatte das so eingefügt, und die arrays gesetzt, dann habe ich den
            Platzhalter im Template angegeben, aber dann wurde nichts ausgegeben,
            noch nichtmal der Platzhalter.

            Kommentar


            • #7
              Soo, habe jetzt alles gemacht was ich kann, aber der Inhalt(PICUSERNAME) und (PICID) wird nicht ausgegeben. Noch nichtmal die beiden Platzhalter werden ausgegeben. Das Template System läuft weiter wunderbar.

              Was habe ich falsch gemacht?:
              PHP-Code:
              <?php
               
              //Script zum zeilenweisen Parsen von HTML Templates
               //20.03.2003 Nils 'Jonathan' Adomeit LV1.2

               //Einbinden der Template Klasse
               
              include("tpl_parser.inc.php");

               
              //Andere Datenbank
               
              $conn mysql_connect("localhost""DB2""xxxxxx");
               
              mysql_select_db("xxxxxx",$conn);

               
              //Auswahl andere Datenbank
               
              $q mysql_query("SELECT pic_id, pic_username FROM phpbb_album ORDER BY RAND()");
               
              $data mysql_fetch_array($q);

               
              //Uservariablen für den Datenbankzugang
               
              $mysql["host"] = "localhost";
               
              $mysql["user"] = "DB1";
               
              $mysql["password"] = "xxxxxx";
               
              $mysql["database"] = "xxxxxx";

              //Definition der KATEGORIE, Wenn keine KAT uebergeben wurde 
              //nimmt das System die Standard KAT 
              if(!isset($_GET["kat"])){ $kat home; } 
              if(!isset(
              $kat)){ $kat $_GET["kat"];} 

              //Datenbankverbindung aufbauen und Datenbank auswaehlen 
              mysql_connect($mysql["host"],$mysql["user"],$mysql["password"]); 
              mysql_select_db($mysql["database"]); 

              //Datenbankabfrage zusammenstellen 
              $sql "SELECT * FROM doc_desc, doc_text " 
                    
              "WHERE doc_desc.kat = doc_text.kat AND doc_text.kat = '".$kat."'"

              //Datenbank wird abgefragt 
              $_result mysql_query($sql) or die("Fehler: ".mysql_error()."<br>SQL-QUERY: ".$sql); 
              //Das Ergebniss wird in dem Feld ($_array) gespeichert
              if(mysql_num_rows($_result) != 1

                  
              $sql "SELECT * FROM doc_desc, doc_text " 
                    
              "WHERE doc_desc.kat = doc_text.kat AND doc_text.kat = 'home'"
                  
              $_result mysql_query($sql); 
              }
              $_array mysql_fetch_assoc($_result); 

              //Definition der Variablen durch die die Platzhalter ersetzt werden. 
              $title         $_array["title"]; 
              $css           $_array["css"]; 
              $template      $_array["template"]; 
              $text          $_array["text"];
              $pic_id        $_array["pic_id"]; 
              $pic_username  $_array["pic_username"]; 

              //Array mit den Platzhaltern (Keys) und den Inhalten. 
              $var_array = array("TITLE" => $title
                                  
              "CSS" => $css
                                  
              "TEXT" => $text,
                                  
              "PICID" => $pic_id,
                                  
              "PICUSERNAME" => $pic_username);

              //Initialisierung der Klasse und Parsen des Templates 
              $tpl = new parser($template$var_array);

              ?>

              Kommentar


              • #8
                Woher soll denn pic_id kommen? RICHTIG! Aus deinem SELECT. Und wo werden die Daten von deinem SELECT verarbeitet? Na? Na?

                Und was für Daten verarbeitest du mit $_array? Na? Dämmerts?
                Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                var_dump(), print_r(), debug_backtrace und echo.
                Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                Kommentar


                • #9
                  Jaaa es klappt

                  BIG THX

                  Kommentar


                  • #10
                    Aber jetzt mal was anderes, ich möchte eine externe php datei miteinfügen.
                    Dort sind meine Partner gespeichert:

                    partner.php
                    <?php
                    $link[]='<a href="http://www.partner1.de" target="_blank">Partner1.de</a>';
                    $link[]='<a href="http://www.partner2.com" target="_blank">Partner2.com</a>';
                    $link[]='<a href="http://www.partner3.de" target="_blank">Partner3.de</a>';

                    // Diese Linkreihe kann man nach Belieben weiterführen


                    $anzahllinks=count($link); // Zählt die Anzahl der Werte im Array

                    srand((double)microtime()*1000000); // Startwert
                    shuffle($link);

                    for($i=0; $i<5; $i++) {
                    echo $link[$i]; // Gibt aus
                    }
                    ?>
                    Ich denke mal ich muss die dann includen, also in die index.php:
                    include("partner.php");
                    Aber jetzt wird es wieder schwer für mich:

                    //Definition der Variablen durch die die Platzhalter
                    $title = $_array["title"];
                    $css = $_array["css"];
                    $template = $_array["template"];
                    .......
                    Wie würde das mit dem Partnerscript aussehen, also wie genau kommt das

                    echo $link[$i];
                    dort rein?

                    Kommentar


                    • #11
                      Genau so wie die anderen, du musst es einer Variablen zuweisen und diese dem Template bekannt machen.
                      Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                      var_dump(), print_r(), debug_backtrace und echo.
                      Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                      Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                      Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                      Kommentar


                      • #12
                        Was ist denn eine Variablen ?

                        Kommentar


                        • #13
                          Hopala... Grundlagen @ schattenbaum.net

                          Kommentar


                          • #14
                            Original geschrieben von TobiaZ
                            Hopala... Grundlagen @ schattenbaum.net
                            OffTopic:
                            Mathe 5. Klasse


                            Ne, lies dir am besten mal Schattenbaum durch.
                            Für alle die Fehler suchen, gibts gratis tolle Debuggingmöglichkeiten:
                            var_dump(), print_r(), debug_backtrace und echo.
                            Außerdem gibt es für unsere Neueinsteiger ein hervorragendes PHP Tutorial zu PHP 4 und PHP 5 (OOP)
                            Es heißt $array['index'] und nicht $array[index]! Und nein, das ist nicht egal!
                            Dieses Thema lesen, um Ärger im Forum und verzögerte Hilfen zu vermeiden.

                            Kommentar


                            • #15
                              Kriegt man denn hier nur dumme Antworten oder Links zu anderen Seiten?

                              Kann mir denn keiner erklären wie ich "genau" den code da einfüge?

                              Kommentar

                              Lädt...
                              X