HTML Editor

Und wie soll sich dann der Text ändern Wenn du das aus dem Editor nur an die "inhalt.php" shcickst?
Dort muss eine Verarbeitung stattfinden, welches den neuen Text speichert.
 
Also, ich werde es so versuchen:
Denn Quellcode in einer DB speichern und anstelle von der inhalt.php direkt aus der DB holen.

Hast du das so gemeint?
 
Was meinst dz mit Quellcode?
Du sollst nicht keine ganze Datei in den Editor hängen, sondern nur eine Variable.

PHP:
<?php
$testVaraible = 'Text zb. aus einer Datenbank';
echo '<textarea name="meineArea">' . $testVariable . '</textarea>';
?>

und in der Inhalt.php prüfst du ob das Formular gesendet wurde, wenn ja dann speicherst du den neuen text in der Datenbank. Dieser wird dann beim erneuten aufrufen der Seite automatisch in die Varaible geschrieben wenn es aus der DAtenbank abgefragt wird.
 
Zuletzt bearbeitet:
Hallo

Bei meinem Test habe ich endlich geschafft, dass die Daten in einer DB gespeichert werden und aus der DB in der <textarea> angezeigt werden.

Jetzt bin ich auf folgendes Problem gestossen.
Ich lese den Quellcode welches in der DB gespeichert wurde raus.
Danach möchte ich das in der Homepage normal anzeigen.
Das Problem ist hier das es mir den Quellcode anzeigt, aber eigentlich sollte es mir nur den Formatierten Text anzeigen.

Muss ich da irgendetwas Bestimmtes noch vor dem $inhalt haben?

Hier noch den Code:
PHP:
$select = "SELECT * FROM `ckeditor_table` WHERE `ID` = '1'";
$ergebnis = mysql_query($select);
while($row = mysql_fetch_object($ergebnis))
{
   $inhalt = $row->Text;
}
echo $inhalt;
 
Schau mal in der Datenbanktabellen nach in welcher Form die Inhalte dort gespeichert sind. Ich tippe darauf, dass die HTML-Elemente nicht als <element> sondern &lt;element&gt; geschrieben sind. Sollte es so sein, solltest Du deinen Editor so einstellen, dass er dies nicht macht ODER die Speicherung der HTML-kodierten Texte prüfen (den Code dazu hast Du nicht gezeigt).
 
Ja genau es wird als &lt;element&gt; geschrieben:

&lt;h1&gt;
&lt;img alt=&quot;&quot; src=&quot;ht...

Den Code habe ich vom Beispiel genommen und etwas angepasst:

PHP:
<?php
mysql_connect("localhost", "","") or die ("Keine Verbindung moeglich");
mysql_select_db("test") or die ("Die Datenbank existiert nicht.");

if ( isset( $_POST ) )
	$postArray = &$_POST ;			// 4.1.0 or later, use $_POST
else
	$postArray = &$HTTP_POST_VARS ;	// prior to 4.1.0, use HTTP_POST_VARS

foreach ( $postArray as $sForm => $value )
{
	if ( get_magic_quotes_gpc() )
		$postedValue = htmlspecialchars( stripslashes( $value ) ) ;
	else
		$postedValue = htmlspecialchars( $value ) ;
		mysql_query("UPDATE `test`.`ckeditor_table` SET `Text` = '$postedValue' WHERE `ckeditor_table`.`ID` = '1'");
}

$select = "SELECT * FROM `ckeditor_table` WHERE `ID` = '1'";
$ergebnis = mysql_query($select);
while($row = mysql_fetch_object($ergebnis))
{
   $inhalt = $row->Text;
}

?>

Wie wieter?
 
Du hast immernoch 2 Möglichkeiten:
Schmeiß htmlspecialchars() und stripslashes() aus o.g. Code aus.
Oder wandel die HTML-Kodierung in der Ausgabe des Codes aus der DB wieder um.

Ich würde zu ersterem raten. Dann wird der Code genau so in der DB gespeichert wie er auch ausgegeben werden soll.
 
Cool das hat funktioniert. Danke.

Aber jetzt kommt das nächste Problem.
Beim Bild kann man nur eine URL eingeben. Besteht die Möglichkeit, dass man dort auch nach einem auf dem Server (zum Beispiel im Ordner Images) gespeichertes Bild suchen und öffnen kann? Oder das man gerade ein Bild holden und das in der DB oder in einem Ordner speichern kann?

Oder ist das zu kompliziert?

Was für eine Lösung schlagt ihr vor?
Denn ich möchte die Bilder auf dem Server in einem Image Ordner oder in der DB (habe ich noch nie gemacht, aber ich glaube das es machbar ist) gespeichert haben.




Ach, noch kurz etwas, bevor ich das wieder vergesse, gibt es eine Liste der Toolbar? Denn ich habe gesehen, dass man sich diese selber zusammenstellen kann. Jedoch weiss ich nicht wie die einzelnen Button heissen.
 
Hallo
Ich konnte das mit der Anleitung lösen. Habe nun aber noch ein kleines Problemen.
Ich denke, nach dem dies gelöst ist, werde ich nicht mehr nerven :)

Habe gelesen dass man den ckfinder herunterladen und installieren muss.
Habe die PHP Version heruntergeladen und nun müsste das funktionieren aber wenn ich die Beispiels Seite (http://localhost/CKEditor/ckfinder_php_2.1/ckfinder/_samples/php/standalone.php) öffne dann erhalte ich diese Meldung:
Der Dateibrowser wurde aus Sicherheitsgründen deaktiviert. Bitte benachrichtigen Sie Ihren Systemadministrator und prüfen Sie die Konfigurationsdatei.
Das selbe auch bei meiner Test Homepage.

Habe mir die config.php angeschaut, aber es sieht auch nicht so aus als müsst man dort etwas ändern.

:(

In meiner Test.php Datei, habe ich folgenden Code:
HTML:
			<script type="text/javascript"> 
			CKEDITOR.replace( 'editor1',
				{
					uiColor: '#076620',//Definiert die Farbe des Feldes
					filebrowserBrowseUrl : '/CKEditor/ckeditor_3.6.2/ckfinder/ckfinder.html',
					filebrowserImageBrowseUrl : '/CKEditor/ckeditor_3.6.2/ckfinder/ckfinder.html?type=Images',
					filebrowserFlashBrowseUrl : '/CKEditor/ckeditor_3.6.2/ckfinder/ckfinder.html?type=Flash',
					filebrowserUploadUrl : '/CKEditor/ckeditor_3.6.2/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',
					filebrowserImageUploadUrl : '/CKEditor/ckeditor_3.6.2/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',
					filebrowserFlashUploadUrl : '/CKEditor/ckeditor_3.6.2/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash'					
			});		
			</script>
Kann mir jemand helfen?







Nebenbei noch kurz etwas: Ich habe „{ name: 'Color', items : [ 'UIColor' ] },“ zur Toolbar hinzugefügt. Jedoch funktioniert das nur im Firefox und im IE 8 nicht. Das Beispiel funktioniert jedoch. Was könnte an meinem Beispiel falsch sein?
Hier der ganze Code:

HTML:
			<script type="text/javascript"> 			
			CKEDITOR.replace( 'editor1',
				{
					uiColor: '#076620',//Definiert die Farbe des Feldes
					extraPlugins : 'uicolor', // Wird für die Farbauswahl des Textareas benötigt.
					
					//Definiert die Toolbar
					toolbar :
					[
						{ name: 'document', items : [ 'Source','-','Save','NewPage','DocProps','Preview','Print','-','Templates' ] },
						{ name: 'clipboard', items : [ 'Cut','Copy','Paste','PasteText','PasteFromWord','-','Undo','Redo' ] },
						{ name: 'editing', items : [ 'Find','Replace','-','SelectAll','-','SpellChecker', 'Scayt' ] },
						{ name: 'forms', items : [ 'Form', 'Checkbox', 'Radio', 'TextField', 'Textarea', 'Select', 'Button', 'ImageButton', 'HiddenField' ] },
						'/', // Neue Zeile
						{ name: 'basicstyles', items : [ 'Bold','Italic','Underline','Strike','Subscript','Superscript','-','RemoveFormat' ] },
						{ name: 'paragraph', items : [ 'NumberedList','BulletedList','-','Outdent','Indent','-','Blockquote','CreateDiv','-','JustifyLeft','JustifyCenter','JustifyRight','JustifyBlock','-','BidiLtr','BidiRtl' ] },
						{ name: 'links', items : [ 'Link','Unlink','Anchor' ] },
						{ name: 'insert', items : [ 'Image','Flash','Table','HorizontalRule','Smiley','SpecialChar','PageBreak','Iframe' ] },
						'/',
						{ name: 'styles', items : [ 'Styles','Format','Font','FontSize' ] },
						{ name: 'colors', items : [ 'TextColor','BGColor' ] },
						{ name: 'tools', items : [ 'Maximize', 'ShowBlocks','-','About' ] },
						{ name: 'Color', items : [ 'UIColor' ] }, //Farbauswahl des textareas.
						
					],
						
					//Definiert die Speicherpfade des ckfinder für Bilder, Links usw..
					filebrowserBrowseUrl : '/CKEditor/ckeditor_3.6.2/ckfinder/ckfinder.html',
					filebrowserImageBrowseUrl : '/CKEditor/ckeditor_3.6.2/ckfinder/ckfinder.html?type=Images',
					filebrowserFlashBrowseUrl : '/CKEditor/ckeditor_3.6.2/ckfinder/ckfinder.html?type=Flash',
					filebrowserUploadUrl : '/CKEditor/ckeditor_3.6.2/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files',
					filebrowserImageUploadUrl : '/CKEditor/ckeditor_3.6.2/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images',
					filebrowserFlashUploadUrl : '/CKEditor/ckeditor_3.6.2/ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash',
					filebrowserWindowWidth : '1000', //Definiert die Grösse des Fesnsters des chfinder.
					filebrowserWindowHeight : '700'					
			});		
			</script>
 
Zuletzt bearbeitet:
Zurück