Мне удалось заставить его загрузить нужную страницу в редакторе, но теперь я не могу понять, почему TinyMCE не сохранит.
Я почти уверен, что это как-то связано с этим:
$this_page = $_SERVER["PHP_SELF"];
$query_string = $_SERVER["QUERY_STRING"];
echo("<form method=\"post\" action=\"$this_page?$query_string\">\n");
echo("<textarea id=\"page\" name=\"page\" rows=20 cols=60>\n");
echo(htmlspecialchars($text));
echo("</textarea>\n");
echo("<input type=\"submit\" value=\"Save\">\n");
echo("</form>\n");
Вот полная версия моего нового скрипта:
<?php
// Get the page name from the query string
$page = $_GET["p"] . ".htm";
if (!$_GET["p"]) {
echo("<p>Select a page to work with to begin.\n");
exit;
}
if ($_POST["p"]) {
$handle = fopen("../includes/$page", "w");
fwrite($handle, $_POST["p"]);
fclose($handle);
echo($_POST["p"]); // OR include("../includes/$page");
exit;
}
if (file_exists("../includes/$page")) {
$FILE = fopen("../includes/$page", "rt");
while (!feof($FILE)) {
$text .= fgets($FILE);
}
fclose($FILE);
} else {
echo("<h1>New Page: $page</h1>\n");
$text = "<p></p>";
}
echo <<< EOM
<script language="javascript" type="text/javascript"
src="/tinymce/jscripts/tiny_mce/tiny_mce.js"></script>
<script language="javascript" type="text/javascript">
tinyMCE.init({
mode : "textareas",
theme : "advanced",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "center",
theme_advanced_path_location : "bottom"
});
</script>
EOM;
$this_page = $_SERVER["PHP_SELF"];
$query_string = $_SERVER["QUERY_STRING"];
echo("<form method=\"post\" action=\"$this_page?$query_string\">\n");
echo("<textarea id=\"page\" name=\"page\" rows=20 cols=60>\n");
echo(htmlspecialchars($text));
echo("</textarea>\n");
echo("<input type=\"submit\" value=\"Save\">\n");
echo("</form>\n");
?>
РЕДАКТИРОВАТЬ: мои права доступа к файлам, где неправильно, но теперь они верны, и сценарий по-прежнему не работает. Есть идеи, что не так?
------------------------- ниже этой строки важно, но старое --------------- ----------
Я работаю над своей первой, чрезвычайно простой CMS, просто для редактирования текста. Он не добавляет страницы, разрешает загрузку или что-то в этом роде. Это просто позволяет пользователю редактировать страницы через серверную часть.
У меня был этот скрипт работающий, но я много его модифицировал, и теперь у меня проблемы.
Ссылки в основном настроены так: <a href="index.php?p=home">Edit the home page</a>
Когда вы нажимаете эту кнопку, она должна определить ../includes/home.htm
как активную страницу (или ../includes/contact.htm
, если ссылка была index.php?p=contact
и т. Д.), Затем загрузить TinyMCE в раздел #editor
с активной страница как то, что редактируется.
Я очень новичок в PHP, поэтому это довольно запутанно для меня. Я следовал учебному пособию , чтобы настроить его изначально, и теперь я пытаюсь заставить его работать так, как я хочу.
Проблема в основном в том, что я не знаю, что нужно изменить в PHP, чтобы правильно выполнить эту загрузку.