无法说服TinyMCE保存提交更改

时间:2011-07-12 20:57:46

标签: php html tinymce

我想要一个WYSIWYG html编辑器来创建静态网页。经过一番环顾,我按照moxiecode的说明在我的服务器上下载并安装了TinyMCE。问题在于moxiecode认为是“虚拟”的东西和我认为是“虚拟”的东西之间存在重大脱节。

我已安装到可以浏览配置页面并查看编辑器窗口的位置,然后输入编辑器窗口。问题是我实际上无法将代码保存到生成我可以在浏览器上查看的内容的任何地方。任何填充点都表示感激。

我正在编辑的textarea看起来像这样:

<form method="post" action="../index.php">
<p>     
<textarea name="content" cols="50" rows="15">foo</textarea>
<input type="submit" value="Save" />
</p>
</form>

并且'../index.php'(在站点根目录中)看起来像这样:

<?php
echo(stripslashes($_POST['content']));
?>

我希望当我点击“保存”按钮时,我将能够浏览到网站的根目录,浏览器将神奇地选择index.php,它会以某种方式显示“foo” 。当然,这不起作用。工作意味着什么?单击“保存”后会发生什么,我如何在任何地方实际看到结果?

当我点击保存时,实际发生的是编辑器窗口现在显示的内容是'index.php',其中包含'foo'。我必须单击后退按钮才能返回编辑器窗口。我想这就是要发生的事情,虽然当我在Joomla中使用TinyMCE时不会发生 - 当你点击保存时,你仍然会看到编辑器窗口。但是,问题是我实际上无法在任何其他浏览器窗口中看到该内容。如果我浏览到网站根目录,或明确地浏览到root / index.php,我只看到一个空白页面。如果我在浏览器上打开2个标签,它们可以显示完全相同的地址(即192.168.1.104/root/index.php),但编辑器显示“foo”,另一个显示空白页。 / p>

谢谢 -

的Al


编辑:Wesley代码的版本,足以使用TinyMCE作为编辑器创建一个名为index.html的文件:

<?php
$str = <<<EOD
<html>
<head><title>Hello World</title></head>
<body>
EOD;
file_put_contents('../index.html', $str);
file_put_contents('../index.html', $_POST['content'], FILE_APPEND);
file_put_contents('../index.html', '</body></html>', FILE_APPEND);
header('Location: ../index.html');
?>

2 个答案:

答案 0 :(得分:3)

这里的根本问题是,您实际上并未在任何地方保存数据,而是在发布到index.php时仅打印 输入。 $_POST数据仅在请求期间持续存在,并不会留在另一个数据中 - 并且对您而言是唯一的。其他人无法看到您的发布数据。

如果您要修改网页,则需要使用$_POST数据执行某些操作。您可以通过使用PHP创建或修改文件来保存它,也可以将其保存到数据库中。然后,当您想要查看页面时,您必须从数据库或文件中获取内容。您甚至可以修改和创建HTML文件,但必须使用PHP。

有很多方法可以做到这一点。这是一个非常简短的示例:将表单发布到其他地方,例如,发送到名为edit-page.php的文件,并使该文件的内容执行以下操作:

file_put_contents('index.html', $_POST['content']);
header('Location: index.html');

这将$_POST['content']并将其写入名为index.html的文件,然后将其重定向到那里进行查看(当然,它不是完整的文档,只是您发布的内容)。< / p>

当然你需要一个doctype,<head>,处理错误的方法等......所以这不是你应该做的。这不是一个教程,只是一个希望有用的方向的推动。

底线是您需要永久地将数据写入某处,然后从该源检索数据以查看它。你可以使用include来处理部分html页面并将它们拼凑在一起,例如,如果你想在你还在学习的时候去写文件。

答案 1 :(得分:0)

嗯,我不确定也许是错的,但我认为你对形式的运作方式缺乏了解,而且你将tinyMCE添加到组合中会让事情变得更糟。

暂时忘掉tinyMCE,找一些关于表格如何工作的教程。就像@Wesley Murch说的那样,你需要更多的东西,而且我认为这个论坛的目的并不是提供完整的教程。