tutorials.de Buch-Aktion 05/2012
ERLEDIGT
JA
ANTWORTEN
12
ZUGRIFFE
1524
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    chris4712 chris4712 ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    233
    Hallo!

    Ich habe eine Webseite wo der Inhalt der einzelnen Seiten aus einer MySQL Tabelle gelesen wird.
    Geht soweit auch.


    Nun habe ich mir eine PHP Datei (CoincidencePicture.php) geschrieben, die mir ein Zufallsbild erzeugt (mit MySQL Zugriff usw.), und einen HTML Code (Bild mit entsprechendem Link) ausgibt.
    Geht auch.

    Nun bekomme ich aber folgendes Problem: Wie schaffe ich es dass die Datei CoincidencePicture.php an der passenden Stelle im HTML Code steht, der per PHP aus der MySQL Datenbank gelesen wird, und mit echo ausgegeben wird?

    include geht ja Aufgrund der echo Ausgabe nicht.

    Gruß
     

  2. #2
    Avatar von sirvival
    sirvival sirvival ist offline Mitglied Gold
    Registriert seit
    Nov 2003
    Beiträge
    122
    Hallo chris,

    versuch mal den Rückgabewert der betreffenden Funktion aus CoincidencePicture.php
    mit echo in deiner HTML-Datei auszugeben.

    Ich nehme mal an, das es dass ist, was Du suchst. Falls nicht musst Du mal den entsprechenden Code posten.
     

  3. #3
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    Hallo!

    Keine Ahnung wie Dein HTML/PHP/MySQL Code aussieht.....

    In der "CoincidencePicture.php" wird aus
    PHP-Code:
    <?php
    // Dein Code
    echo "Deine HTML-Ausgabe";
    ?>
    dieses
    PHP-Code:
    <?php
    // Dein Code
    $htmlausgabe "Deine HTML-Ausgabe";
    ?>
    Und dann in der Datei wo der HTML-Code augegeben werden soll
    PHP-Code:
    <?php include "CoincidencePicture.php"?>
    <html>
    <head>
    <titel></titel>
    </head>
    <body>
    Irgend welchen Text.
    <?php echo $htmlausgabe?>
    Restlicher Text.
    </body>
    </html>
    Ansonsten mehr Input..... Du kennst ja die Sache mit der Glaskugel.

    Gruss Dr Dau
     
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

  4. #4
    Avatar von sirvival
    sirvival sirvival ist offline Mitglied Gold
    Registriert seit
    Nov 2003
    Beiträge
    122
    ja so hatte ich mir das in etwa auch vorgestellt.
     

  5. #5
    chris4712 chris4712 ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    233
    OK, ich erklär es mal anders:
    Ich habe eine Tabelle. In dieser Tabelle steht für jede Seite der HTML Code.

    Wenn ich nun die Seite index.php?Page=1 aufrufe wird aus der Tabelle der HTML Quellcode mit der ID 1 ausgelesen.
    Dieser wird mit echo ausgegeben:
    Code :
    1
    
     
    Code :
    1
    2
    
    [COLOR=black]echo $Page['Content'];[/COLOR]
    [COLOR=black][/COLOR]


    Wenn ich nun an die entsprechende Stelle im HTML Code euer "<?php echo $htmlausgabe; ?>" einfüge, wird dieses doch genauso (also OHNE PHP Beachtung) ausgegeben.

    Prinzipiell habt ihr ja Recht. Aber nur wenn der Code nicht aus einer MySQL Tabelle gelesen wird.

    Gruß

    Christian
     

  6. #6
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    Zitat Zitat von chris4712
    Aber nur wenn der Code nicht aus einer MySQL Tabelle gelesen wird.
    Kann ich nicht bestätigen.
    Als Test habe ich mal Code für eine HTML-Tabelle in die Datenbank eingetragen und nach obigem Muster ausgelesen.
    Ergebins: funktioniert, der HTML-Code wird an gewünschter Stelle ausgegeben..... auch mit $_GET Anweisung.

    Wie gesagt, die Sache mit den Glaskugeln..... die hat der Osterhase (dieses Mistviech ) grade versteckt.
     
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

  7. #7
    chris4712 chris4712 ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    233
    Kannst du mal deinen Testcode (inc. Inhalt aus der DB) posten?
    Ist verm. übersichtlicher als mein ganzer Code...
     

  8. #8
    Avatar von Dr Dau
    Dr Dau Dr Dau ist offline ich wisch hier durch
    Registriert seit
    Feb 2005
    Ort
    hinterm Mond gleich Links
    Beiträge
    6.160
    Blog-Einträge
    4
    SQL-Dump
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    -- phpMyAdmin SQL Dump
    -- version 2.6.1-pl3
    -- [URL="http://www.phpmyadmin.net"]http://www.phpmyadmin.net[/URL]
    -- 
    -- Host: localhost
    -- Erstellungszeit: 16. April 2006 um 04:32
    -- Server Version: 4.1.11
    -- PHP-Version: 5.0.4
    -- 
    -- Datenbank: `htmlcode`
    -- 
    -- --------------------------------------------------------
    -- 
    -- Tabellenstruktur für Tabelle `code`
    -- 
    CREATE TABLE `code` (
      `id` int(2) NOT NULL auto_increment,
      `html` varchar(255) NOT NULL default '',
      `nr` int(2) NOT NULL default '0',
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM CHARSET=utf8 ;
    -- 
    -- Daten für Tabelle `code`
    -- 
    INSERT INTO `code` VALUES ('', '<table border="1" cellpadding="0" cellspacing="0"><tr><td>Inhalt</td></tr></table>', '1');
    page.php
    PHP-Code:
    <?php
    mysql_connect
    ("localhost""user""pass");
    mysql_select_db(htmlcode);
    $result mysql_query("SELECT html FROM `code` WHERE nr LIKE '".$_GET['Page']."'");
    $row mysql_fetch_array($result);
    $out $row['html'];
    ?>
    code.php
    PHP-Code:
    <?php
    include "page.php";
    ?>
    <html>
    <head>
    <title></title>
    </head>
    <body>
    hier ein text<br>
    <?php
    if(isset($_GET['Page'])) {
    echo 
    $out."\n";
    }
    ?>
    restlicher text
    </body>
    </html>
    Aufgerufen wird das ganze dann mit code.php bzw. code.php?Page=1

    Der Code ist allerdings nicht auf Sicherheit ausgelegt.
     
    Schri-Schra-Schrödi *g*
    mehrspaltiges/zeiliges Seitenlayout mit DIV's und CSS
    Dinge, die mit Tabellen besser klappen als mit CSS
    Ausgabe von Datum/Zeit unabhängig von der Server Zeitzone [php]
    Meine Links zum Thema Linux (Last update: 29.10.2011)
    Kein Busen ist so flach wie das Niveau dieser Party!
    ----
    Alte Weisheit: wer uns in den Arsch kriecht wird beschissen!
    ----
    Ich habe 3 Kinder und kein Geld!
    Warum kann ich nicht keine Kinder haben und 3 Geld?! (Homer Jay Simpson)

  9. #9
    chris4712 chris4712 ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    233
    Ne, da hast du mich falsch verstanden!
    Ich versuch es mal anhand deines Beispieles zu erklären:

    MySQL-Dump (Text in rot beachten!):
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    
    -- phpMyAdmin SQL Dump
    -- version 2.6.1-pl3
    -- [URL="http://www.phpmyadmin.net/"]http://www.phpmyadmin.net[/URL]
    -- 
    -- Host: localhost
    -- Erstellungszeit: 16. April 2006 um 04:32
    -- Server Version: 4.1.11
    -- PHP-Version: 5.0.4
    -- 
    -- Datenbank: `htmlcode`
    -- 
    -- --------------------------------------------------------
    -- 
    -- Tabellenstruktur für Tabelle `code`
    -- 
    CREATE TABLE `code` (
      `id` int(2) NOT NULL auto_increment,
      `html` varchar(255) NOT NULL default '',
      `nr` int(2) NOT NULL default '0',
      PRIMARY KEY  (`id`)
    ) ENGINE=MyISAM CHARSET=utf8 ;
    -- 
    -- Daten für Tabelle `code`
    -- 
    INSERT INTO `code` VALUES ('', '<table border="1" cellpadding="0" cellspacing="0"><tr><td>[COLOR=red]<?PHP include("CoincidencePicture.php"); ?>[/COLOR]</td></tr></table>', '1');[/LEFT]


    Inhalt der Datei CoincidencePicture.php:
    PHP-Code:
    // Hier wird was gemacht
    echo "Ausgabe"

    page.php (1zu1 von dir übernommen):
    PHP-Code:
     <?php
    mysql_connect
    ("localhost""user""pass");
    mysql_select_db(htmlcode);
    $result mysql_query("SELECT html FROM `code` WHERE nr LIKE '".$_GET['Page']."'");
    $row mysql_fetch_array($result);
    $out $row['html'];
    ?>
    Ich hoffe nun ist klar was ich brauche. Alles andere bringt mir nichts. Oder ich stehe mächtig auf dem Schlauch.

    Gruß
    Geändert von chris4712 (16.04.06 um 13:04 Uhr)
     

  10. #10
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Ich würde es so machen:
    MySQL
    PHP-Code:
    CREATE TABLE `code` (
      `
    idint(2NOT NULL auto_increment,
      `
    htmlvarchar(255NOT NULL default '',
      `
    nrint(2NOT NULL default '0',
      
    PRIMARY KEY  (`id`)
    ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=;

    -- 
    -- 
    Daten für Tabelle `code`
    -- 

    INSERT INTO `code` (`id`, `html`, `nr`) VALUES (1'<table border="1" cellpadding="0" cellspacing="0"><tr><td>[inc]CoincidencePicture.php[inc]</td></tr></table>'1); 
    page.php
    PHP-Code:
    if(!isset($_GET['Page'])) $_GET['Page'] = "1";
    mysql_connect("localhost""user""pass");
    mysql_select_db(test);
    $result mysql_query("SELECT html FROM `code` WHERE nr LIKE '".$_GET['Page']."'");
    $row mysql_fetch_array($result);
    $out explode("[inc]",$row['html']);

    echo 
    $out[0];
    include(
    $out[1]);
    echo 
    $out[2]; 
     

  11. #11
    chris4712 chris4712 ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    233
    Hallo Flex!

    Daran den bestimmten Codeteil erstmal als Psydocode zu schreiben, und dann bei der Ausgabe zu ersetzen habe ich auch schon gedacht.
    War mir nur nicht sicher ob man dass so "machen darf", oder ob es was Besseres gibt.

    Gruß

    Christian
     

  12. #12
    Avatar von Flex
    Flex Flex ist offline (aka Felix Jacobi)
    tutorials.de Moderator
    Registriert seit
    Nov 2001
    Ort
    Wuppertal
    Beiträge
    5.295
    Blog-Einträge
    65
    Am saubersten wäre es natürlich mit regulären Ausdrücken, aber da bin ich selber auch nicht wirklich fit, da müsste der Gumbo oder einer der anderen Spezialisten mal ran
    Ich wüsste spontan keine andere Lösung, aber bin mir auch nicht sicher, ob man überhaupt PHP Code aus einer Datenbank holen kann um ihn auszuführen...
     

  13. #13
    chris4712 chris4712 ist offline Mitglied Gold
    Registriert seit
    Jan 2005
    Beiträge
    233
    Zitat Zitat von [Flex]
    aber bin mir auch nicht sicher, ob man überhaupt PHP Code aus einer Datenbank holen kann um ihn auszuführen...


    In irgendeinem Forum hatte mal einer so was gefragt. Hab aber nur die Überschrift gelesen
    Prinzipiell würde ich sagen dass dann der Inhalt der DB nicht mit echo ausgegeben werden darf...

    Also, wenn noch einer eine andere Idee hat, bzw. mir sagen kann wie man es am besten und saubersten löst, einfach herbei damit
    Vielen Dank und noch viel Spaß bei der Eiersuche!

    Gruß
     

Ähnliche Themen

  1. Antworten: 4
    Letzter Beitrag: 27.02.10, 16:48
  2. PHP Code in HTML einbinden...
    Von Grobekelle im Forum PHP
    Antworten: 5
    Letzter Beitrag: 22.07.09, 13:09
  3. html code aus externer Datei einbinden
    Von psifactory im Forum PHP
    Antworten: 4
    Letzter Beitrag: 28.07.06, 22:25
  4. externe .TXT einbinden und als HTML Code behandeln
    Von zirag im Forum Flash Plattform
    Antworten: 5
    Letzter Beitrag: 24.02.06, 18:41
  5. HTML-Tabelle in Mysql-Datenbank einbinden
    Von KDWockel im Forum Relationale Datenbanksysteme
    Antworten: 6
    Letzter Beitrag: 03.08.04, 11:15