#1 9. April 2009 HTML / PHP code aus MySQL Datenbank? Hallo, ich arbeite gerade ein einer kleinen Seite, dafür hab ich mich ein wenig in PHP und MySQL eingelesen. Stecke gerade ein wenig fest, weil ich mich nicht sicher bin ob mein vorhaben sinnvoll is. Mein vorhaben: Ich möchte eine Seite erstellen mit einem Admin-Bereich. Im Admin-Bereich soll man mittels Formularen den kompletten seiten Inhalt frei gestalten können. Das soll heißen man soll ein eigenes Menü mit Unterkategorien erstellen können und die dazugehörigen Seiteninhalte gestalten können. das heisst also ich habe eine Index.php in der das Menü Includet wird. Da das Menü ja flexibel sein soll hab ich dafür eine extra php Datei angelegt (navi.php). In der navi.php werden dann die relevanten Daten für die Navigation aus der Datenbank ausgelesen. Das klappt auch alles soweit ganz gut. So aber der Inhalt berreich der macht mir schwierigkeiten. Ich verwende dafür im Admin Bereich den fckeditor, man hat dann halt die Möglichkeit die Inhalte der Seiten ähnlich wie in Word zu gestalten, und das ist auch mein Ziel... . So jetzt wird also mittels des fckeditor's die Seite erstellt und ich schmeiß den ganzen inhalt in meine MySQL Datenbank. Da ich ja keine neuen PHP Dateien erstellen kann. Ab jetzt fängt es an ein wenig komisch zu werden. Also um die Seite dann wieder anzuzeigen hät ich mir gedacht, lad ich den Inhalt einfach in eine Variabel und gib diese mit echo aus... klappt aber nciht bzw. nur halb. Naja mein zweiter lösungsansatz ist, ich hab EINE Datei die heisst Inhalt.txt . Wenn ich jetzt in meiner Navigation auf bsp. Affe drücke, dann wird der entsprechende Inhalt in die Inhalt.txt geschrieben diese wird dann mittels include eingebunden und anschließend wieder geleert. Und das klappt , aber ich frag mich mach das denn Sinn? Kann es zu problemen führen? oder kann ich in ruhe weiter machen? + Multi-Zitat Zitieren
#2 9. April 2009 AW: HTML / PHP code aus MySQL Datenbank? - Klar kann man das. Warum klappt's nicht, was meinst du, inwiefern halb. -> add: PHP: <? php error_reporting ( E_ALL | E_STRICT ); ?> hier posten, inklusive deinem PHP code. k. + Multi-Zitat Zitieren
#3 9. April 2009 AW: HTML / PHP code aus MySQL Datenbank? hi, danke für die schnelle reaktion: Wie kann ich denn neue Dateien erstellen? würd mir einiges an ärger ersparren. es klappt nur halb weil mit echo blödsinn bei rum kommt : navi.php PHP: <? php error_reporting ( E_ALL | E_STRICT ); ?> <?php include "connect.inc" ; $anzahlkat = "SELECT umenu FROM menu" ; $ergebnis = mysql_query ( $anzahlkat ); $anzahl = 0 ; $hauptkat = array(); $geschrieben = 0 ; while ( $row = mysql_fetch_object ( $ergebnis )) { if ( $row -> umenu == 0 ){ $hauptkat [] = $row -> umenu ; } } echo "<br>" ; $anzahl = count ( $hauptkat ); echo "Es gibt { $anzahl } Hauptkategorien<br>" ; $i = 0 ; extract ( $_GET , EXTR_OVERWRITE ); while ( $i <= $anzahl ) { $anzahlkat = "SELECT menuid,umenu,name,inhalt,id FROM menu ORDER by umenu,usort" ; $ergebnis = mysql_query ( $anzahlkat ); while ( $row = mysql_fetch_object ( $ergebnis )) { if( $row -> umenu == 0 && $row -> menuid == $i ) echo "<b><a href=\"index1.php?foo= { $row -> id } &unter= { $row -> menuid } \"> { $row -> name } </b></a><br>" ; if( $row -> umenu == 1 && $row -> menuid == $i && $row -> menuid == $unter ) echo " <a href=\"index1.php?foo= { $row -> id } &unter= { $row -> menuid } \"> { $row -> name } </a><br>" ; } $i ++; } if(isset( $foo )) { $abfrage = "SELECT id,inhalt FROM menu WHERE id = $foo " ; $ergebnis = mysql_query ( $abfrage ); while( $row = mysql_fetch_object ( $ergebnis )) { $inhalt = html_entity_decode ( $row -> inhalt ); } } ?> index.php PHP: <? php error_reporting ( E_ALL | E_STRICT ); ?> <link rel="stylesheet" type="text/css" href="style/style.css" /> <div id="kopf"> titel </div> <div id="links"> <?php include "navi\index1.php" ; ?> </div> <div id="inhalt"> <?php echo $inhalt ; ?> </div> <div id="rechts"> Rechtes Menü </div> bsp. für den Inhalt in der Datenbank Code: <html> <head> <title>Tabellen erzeugen</title> </head> <body> Neue Unterkategorie hinzufuegen<br> <br> <?php include "connect.inc"; $abfrage = "SELECT name,inhalt,id,umenu FROM menu"; $ergebnis = mysql_query($abfrage); $themen = array(); $id = array(); while ($row = mysql_fetch_object($ergebnis)) { // echo "<option><b>$row->id</b> $row->ueberschrift</option>"; if($row->umenu == 0){ $themen[]= $row->name; $id[]= $row->id; } } echo "es gibt "; echo count($themen); echo " Kategorien<br>"; if (count($themen) == 0) echo "<br><b>Bitte erst eine Hauptkategorie erstellen!</b>"; else{ ?> <form action="ukaterstellt.php" method="post" target="_blank"> <b>Welcher Kategorie müchten sie eine Unterkategorie hinzufügen?</b> <br> <select name="thema" size=10> <?php for ($i=0;$i<count($themen);$i++) { echo "<option value='$id[$i]'>$themen[$i]</option>"; } ?> </select> <br><br> <b>Name der Kategorie</b> <input name="name" size="120"><br><br> <b>Inhalt</b> <?php include_once("fckeditor/fckeditor.php") ; $oFCKeditor = new FCKeditor('inhalt') ; $oFCKeditor->BasePath = 'fckeditor/' ; $oFCKeditor->Value = '<p>hier Inhalt eintragen</p>' ; $oFCKeditor->Height = '500'; $oFCKeditor->Create() ; ?> <br> <input type="submit" value="Submit"> </form> <?php } ?> </body> </html> Das kommt dann dabei raus: also das ini der mittleren Spalte http://img246.imageshack.us/img246/5111/falsch.jpg Aber eigentlich sollte die mittlere Spalte so aussehen: http://img232.imageshack.us/img232/8531/richtig.jpg + Multi-Zitat Zitieren
#4 9. April 2009 AW: HTML / PHP code aus MySQL Datenbank? PHP code musst du via eval() erst durch'n Parser jagen, wenn du ihn so ausgibst ist es klar dass er nicht mehr "beachtet" wird. Wie du neue PHP Dateien anlegst? PHP: fopen - Manual PHP: fwrite - Manual PHP: fread - Manual PHP: fclose - Manual Allgemein alle file-Funktionen, wenn du bei fopen bist wirste eig auf alle anderen verlinkt, entweder im Laufe des Artikels oder Links in der Sidebar. Ansonsten: PHP: file_put_contents - Manual PHP: file_get_contents - Manual file_put_contents ist erst ab PHP5 vorhanden, weiß ja nich welche Version du am Rennen hast. + Multi-Zitat Zitieren
#5 9. April 2009 AW: HTML / PHP code aus MySQL Datenbank? PHP: <? php$phpCode = '<?php print "hallo"; ?>' ; file_put_contents (( $tmpName = uniqID () . '.php' ), $phpCode );include $tmpName ; unlink ( $tmpName );print " welt" ; //output: hallo welt ?> so gehts + Multi-Zitat Zitieren
#6 9. April 2009 AW: HTML / PHP code aus MySQL Datenbank? noch eine kleine frage und ich bin glücklich. Lokal läuft das jetzt wunderbar mit den Dateien erstellen , vielen dank dafür. Wenn die dateien aber aufn Webserver erstellt werden, gibts da probleme mit den Schreibrechten? + Multi-Zitat Zitieren
#7 9. April 2009 AW: HTML / PHP code aus MySQL Datenbank? Lass mich raten... local windows, online linux. Windows is ja so klug und hat keine Schreibrechte bei den Daten, genausowenig wie es case sensitive is :-| Setz chmod vom Ordner wo du die PHP Daten reinschreibn willst einfach auf 777. + Multi-Zitat Zitieren
#8 11. April 2009 AW: HTML / PHP code aus MySQL Datenbank? wunderbar bin jetzt fragenlos kann wegen mir closed werden + Multi-Zitat Zitieren