Help: fckeditor, ausgabe in PHP

Seite 1 von 2 - Forum: Coding Stuff auf overclockers.at

URL: https://www.overclockers.at/coding-stuff/help_fckeditor_ausgabe_in_php_195247/page_1 - zur Vollversion wechseln!


grond schrieb am 18.05.2008 um 17:02

hallo Leute
ich hab wiedereinmal ein problem, diesmal eher mehr denk/programmier problem, es handelt sich um den FCKeditor:

also
ich hab 3 tabellen :
1 gesamt tabelle hier sind zb. die Home.php, ich.php drinnen und mehrere die werden dynamisch aufgerufen
1 fürs gästebuch
1 für Freunde (bilder etc)

3 Dateien die mir probleme machen bzw eher ein
edit.php -> führt FCKeditor aus und hier um den Text zu verändern

Code: PHP
  <?php
		include("connect.php");
		$tabelle="hp";
		$id = $_GET['id'];
        $sql = "SELECT * FROM $tabelle WHERE `id` = '$id'";
        $query = mysql_query($sql);
        $ausgabe = mysql_fetch_array($query);
        include("./fckeditor/fckeditor.php") ;
        $oFCKeditor = new FCKeditor('inhalt') ;
        $oFCKeditor->Width = '800';
        $oFCKeditor->Height = '400';
        $oFCKeditor->BasePath = './fckeditor/' ;
        $oFCKeditor->Value = $ausgabe['inhalt'];
        $oFCKeditor->Create() ;
	?>
    <input type="hidden" name="id" value="<?php echo $id;?>">
    <p align="center"><input type="submit" value="Aendern" name="aendern">
    <?php
	if (isset($_POST['aendern']))
	{
	echo update();
	}
	?>
    </form>
	</div>
</body>
</html>
<?PHP
function update()
{
  	$inhalt = $_POST['inhalt'];
	$id = $_POST['id'];
	$sql = "UPDATE editor SET `inhalt` = '$inhalt' WHERE `id` = '$id' LIMIT 1";
	$query = mysql_query($sql);
	echo "<meta http-equiv=\"refresh\" content=\"0;URL=ausgabe.php\">";  
	echo "<a href= 'ausgabe.php'>Zur Uebersicht</a>";
}
?>

Ausgabe.php-> für die Homepage zum öffnen der Seiten
Code: PHP
		<?php
			include("connect.php");
			$tabelle= "hp";
			$sql = "SELECT * FROM $tabelle WHERE editor= 'J' ORDER BY id ASC";
			$query = mysql_query($sql);
			if (!$query) 
		   	die('Ungültige Abfrage: ' . mysql_error()); 

			while($ausgabe = mysql_fetch_object($query))
			{
		        echo "
                    <tr>
                        <td style=\"border-bottom:1px solid black;\">" . $ausgabe->titel. "</th>
                        <td style=\"border-bottom:1px solid black;\" align=\"center\">

                        	<a href=\"./admin/editor/anzeigen.php?id=$ausgabe->id\" target=\"_blank\">anzeigen</a> |
                        	<a href=\"./admin/editor/edit.php?id=$ausgabe->id\">ändern</a></th>
                    </tr>
				";
			}
		?> 

und eine Anzeigen.PHP um den Text anzuzeigen
Code: PHP
 
	<?php
			include("connect.php");
			$tabelle="hp";
			$id = $_GET['id'];
			
			$sql = "SELECT * FROM $tabelle WHERE `id` = '$id' LIMIT 1";
			$query = mysql_query($sql);
			
			$ausgabe = mysql_fetch_array($query);
			
			 echo $ausgabe['datei']; ?>


Mein Problem wenn ich auf "anzeigen" geh, zeigt es mir nicht die datei an mit Ihrem Inhalt sondern es schreibt nur zB. "home.php" hin.

Also ich möchte den Inhalt der Datei ausgeben um den verändern zu können.
Verlinkt ist der Editor mit der Gesamt-Tabelle
Im Endeffekt muss ich nur den Code der Anzeigen.PHP verändern, nur hab ich keine Ahnung wie das geht.

mfg & TIA GrOnD


that schrieb am 18.05.2008 um 17:19

Du schreibst ins Feld "inhalt", gibst aber den Inhalt des Feldes "datei" aus.


grond schrieb am 18.05.2008 um 17:35

ok das haut jetzt hin trotzdem möchte ich anzeigen/ausgeben lassen was IN der zb Home.php ist, geht das irgendwie?

aja so passts dann oder

Code: PHP
 
    <?php
		include("connect.php");
		$tabelle="hp";
		$id = $_GET['id'];
        $sql = "SELECT * FROM $tabelle WHERE `id` = '$id'";
        $query = mysql_query($sql);
        $ausgabe = mysql_fetch_array($query);
        include("./fckeditor/fckeditor.php") ;
        $oFCKeditor = new FCKeditor('datei') ;
        $oFCKeditor->Width = '800';
        $oFCKeditor->Height = '400';
        $oFCKeditor->BasePath = './fckeditor/' ;
        $oFCKeditor->Value = $ausgabe['datei'];
        $oFCKeditor->Create() ;
	?>
    <input type="hidden" name="id" value="<?php echo $id;?>">
    <p align="center"><input type="submit" value="Aendern" name="aendern">
    <?php
	if (isset($_POST['aendern']))
	{
	echo update();
	}
	?>
    </form>
	</div>
</body>
</html>
<?PHP
function update()
{
  	$datei = $_POST['datei'];
	$id = $_POST['id'];
	$sql = "UPDATE hp SET `datei` = '$datei' WHERE `id` = '$id' LIMIT 1";
	$query = mysql_query($sql);
	echo "<meta http-equiv=\"refresh\" content=\"0;URL=ausgabe.php\">";  
	echo "<a href= 'ausgabe.php'>Zur Uebersicht</a>";
}
?>


that schrieb am 18.05.2008 um 19:20

Zitat
1 gesamt tabelle hier sind zb. die Home.php, ich.php drinnen und mehrere die werden dynamisch aufgerufen

Was heißt, die Dateien sind in der Tabelle "drin"?

Zitat
trotzdem möchte ich anzeigen/ausgeben lassen was IN der zb Home.php ist, geht das irgendwie?

Wieso willst du PHP-Code anzeigen lassen?

Poste mal die Struktur deiner "hp"-Tabelle und erkläre, wo du gedenkst, den Content abzuspeichern - in der Datenbank oder im Filesystem.


grond schrieb am 18.05.2008 um 19:40

ahm sry hab mich falsch ausgedrückt, ich will zb den text der in home.php steht anzeigen/verändern lassen, nicht den php code, also zb:
hallo auf meiner homepage.."

also der aufbau meiner HP tabelle:
1. ID
2. Titel (name der schaltflächen)
3. Datei (.php welche aufgerufen wird)
4. Bild

dann hab ich noch 2 tabellen (gästebuch u. freunde) mit
1. id
2. titel
3. beschreibung
4. bild etc

der content sollte schon in der datenbank gespeichert werden, hab noch nie etwas anderes gemacht


that schrieb am 18.05.2008 um 20:42

Wenn du den Content in der Datenbank speichern willst, solltest du auch irgendwo ein Feld in einer Tabelle dafür haben. :)

Was ist "home.php"? Eine PHP-Datei? Wenn nicht, was dann?


grond schrieb am 18.05.2008 um 20:54

ja ist ne ganz normale php datei

hmm ja ich glaub, dass was ich wollte haut nur mit einer tabelle und nicht über mehrere tabellen hin ( weil in der einen tabelle sind alle verlinkt) und in der anderen sollte es dann abgespeichert werden, bzw von dort hergeholt werden


jives schrieb am 18.05.2008 um 21:06

Entweder ich versteh da was ganz falsch, oder du hast einen ziemlichen Denkfehler in deinem Konzept.

Im Feld "Datei" sollte nicht der echte Inhalt des (oder der Pfad zum) php-Script(s) stehen, sondern nur der Inhalt, den der Benutzer sehen soll.

Du könntest jetzt natürlich für jede Seite die der Benutzer sehen kann ein php-Script machen, dass ein Record mit einer fixen id liest und den Inhalt im entsprechenden Feld ausgibt, aber das ist ja nicht wirklich schön.

Mein Vorschlag: Du machst ein Script (output.php z.B.), an das du - je nachdem welche Seite der Benutzer sehen will - eine id weitergibst (SQL Injections udgl. dabei nicht vergessen). Das Script holt sich dann den entsprechenden Eintrag aus der DB, parsed ihn und gibt ihn aus.


grond schrieb am 19.05.2008 um 14:50

@ jives
ja es ist von anfang an ein denkfehler drinnen, nur der lässt sich jetzt schwer beheben und ich hab gedacht es würde auch anders hinauen..
danke trotzdem für den vorschlag, nur kann ich ihn net wirklich umsetzen :/


jives schrieb am 19.05.2008 um 19:51

Warum nicht? Die Strukturen scheinen ja schon vorhanden zu sein...
Gehen denn beide Vorschläge nicht?


grond schrieb am 19.05.2008 um 21:07

es geht nicht darum ob die vorschläge gehen (schätze schon), ich kanns einfach noch nicht programmieren ..(lern erst seit ca 1 jahr in der schule=nicht viel..)


jives schrieb am 19.05.2008 um 21:54

Also mit dem was du oben hast, bist du ja schon sehr, sehr knapp dran.
Da fehlt wirklich nicht mehr viel - aber wenn dus nicht versuchst, bzw. uns nicht sagst, wos noch hapert, können wir halt auch nicht helfen ;)


grond schrieb am 20.05.2008 um 14:34

ja ich weiß
nur was brauch ich dann in so einer "output.php"- wie mache ich eine SQL Injections, wie parse ich es an eine db dann weiter?


prayerslayer schrieb am 20.05.2008 um 14:43

Zitat von GrOnD
ja ich weiß
nur was brauch ich dann in so einer "output.php"- wie mache ich eine SQL Injections, wie parse ich es an eine db dann weiter?

sql injections willst du nicht machen, sondern verhindern :)

http://www.google.com/search?source...Suche&meta=


jives schrieb am 20.05.2008 um 14:54

So ist es. Aber wenn du den Ausdruck schon nicht kennst, hättest ihn ins Google klopfen können, anstatt einfach aufzugeben...


Was dein Ausgabescipt genau braucht, kommt drauf an was du vorhast. Im einfachsten Fall bekommt es eine Record-ID, holt sich den Inhalt aus der DB (das kannst und machst du ja schon) und gibt ihn per echo() aus.

Dein Editor(-script) schreibt dann einfach den Inhalt des Editor-Textfelds in die DB.

Du hast ja scheinbar schon eine funktionierende DB, einen funktionierenden Editor und eine Verknüpfung zwischen den beiden - was fehlt jetzt denn noch? Oder wo genau ist jetzt das Problem?


Oder willst du die php-Datei (also das Script selbst) editieren?




overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2025