Mit wysiwyg Editor in MySQL Datenbank schreiben

raptorgt

Grünschnabel
Hallo zusammen,

ich möchte auf meiner Seite einen wysiwyg Editor einbauen. Nun klappt auch alles wunderbar. wysiwyg Editor kann auch die Daten aus der DB lesen, aber wenn ich was neues reinschreiben will, krieg ich das einfach nicht gebacken.

example.php
Code:
<?php

include("../../header.php");
include("../../config.php");
include("../../library.php");

$query2 = mysql_query("SELECT * FROM text WHERE id = '1'");
$data2 = mysql_fetch_assoc($query2);

function freeRTE_Preload($content) {
	// Strip newline characters.
	$content = str_replace(chr(10), " ", $content);
	$content = str_replace(chr(13), " ", $content);
	// Replace single quotes.
	$content = str_replace(chr(145), chr(39), $content);
	$content = str_replace(chr(146), chr(39), $content);
	// Return the result.
	return $content;
}
// Send the preloaded content to the function.
$content = freeRTE_Preload($data2['text']);

?>
<form action="../../new.php?act=doaddtext" method="post">
<!-- Include the Free Rich Text Editor Runtime -->
<script src="../js/richtext.js" type="text/javascript" language="javascript"></script>
<!-- Include the Free Rich Text Editor Variables Page -->
<script src="../js/config.js" type="text/javascript" language="javascript"></script>
<!-- Initialise the editor -->
<script>
initRTE('<?= $content ?>', 'example.css');
</script>
<input type="submit">
</form>

new.php
Code:
case "doaddtext":

$doit = mysql_query("INSERT INTO ocdb_text VALUES('', '$content')");

echo "ok";

break;

So sieht mein Script aus. Es sollte doch irgendwie möglich sein, dass das ganze Zeug übergeben wird.

Wäre wirklich Dankbar für jede Hilfe.

Grüsse
 
Hi oder Morgen,

was wird dir denn als Fehler ausgegeben oder was passiert genau?
Wenn nichts in die DB geschrieben wird, würde ich mal $content in der mysql Query überprüfen, ob da was drin steht. ($content = $_POST['xyz'])

Habe mir mal den Source von http://www.kevinroth.com/rte/ angeschaut. In dem Download ist ebenfalls eine Demo samt PHP Code. Das sieht komplett anders aus, vor allem der Teil mit dem Init des RTE
<form name="RTEDemo" action="demo.php" method="post" onsubmit="return submitForm();">
<script language="JavaScript" type="text/javascript">
<!--
function submitForm() {
//make sure hidden and iframe values are in sync for all rtes before submitting form
updateRTEs();

return true;
}

//Usage: initRTE(imagesPath, includesPath, cssFile, genXHTML, encHTML)
initRTE("./images/", "./", "", true);
Du übergibst in der JS Funktion "initRTE()" den kompletten Code.

Weiter geht es dann mit dem erstellen der EditorBar, den ich auch bei dir vermissen
<script language="JavaScript" type="text/javascript">
<!--
//build new richTextEditor
var rte1 = new richTextEditor('rte1');
<?php
//format content for preloading
if (!(isset($_POST["rte1"]))) {
$content = "here's the " . chr(13) . "\"preloaded <b>content</b>\"";
$content = rteSafe($content);
} else {
//retrieve posted value
$content = rteSafe($_POST["rte1"]);
}
?>
rte1.html = '<?=$content;?>';
//rte1.toggleSrc = false;
rte1.build();
//-->
</script>
Entweder ich habe eine falsche oder andere Version von dem RTE gefunden und darum sieht das komplett anders aus oder du hast es modifziert.

Prüfe erstmal, ob in der new.php in der Var $content etwas drin steht.
Wenn nein, dann mach mal ein var_dump($_POST); um zu schauen, was per Post überhaupt übergeben wird.
Wenn $_POST nicht den HTML COde aus dem RTE enthält, ist der Fehler auf der Seite mit dem RTE zu suchen, vermutlich im JS.

Gruss
 
Es wird überhaupt nichts übergeben. :(

Am Code habe ich eigentlich nichts verändert. Mein Beispiel sieht so aus: http://octs.ripping.org/frontpage/post/examples/example.php

Wenn ich jetzt in folgender Zeile an Stelle von post, get einfüge:
Code:
<form action="../../new.php?act=doaddtext" method="get">

Passiert folgendes: http://octs.ripping.org/frontpage/post/examples/example_get.php

Ich habe mir auch mal dein Beispiel Editor angeschaut. Mit dem passiert genau dasselbe. Ich bekomme nur immer einen leeren Datenbankeintrag.

Ausser wenn ich zum Beispiel folgendes mache:
Code:
<p><input type="submit" name="content" value="Submit" /></p>
</form>
so wird mir Submit in die Datenbank geschrieben.


Hurra: Ich habe gerade den ultimativen Editor gefunden der mir alle Probleme löst. Sieht sehr gut aus: http://octs.ripping.org/frontpage/post3/examples/full.php
 
Zuletzt bearbeitet:
Zurück