Сохранение проблемы с TinyMCE - PullRequest
1 голос
/ 27 августа 2011

Мне удалось заставить его загрузить нужную страницу в редакторе, но теперь я не могу понять, почему 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, чтобы правильно выполнить эту загрузку.

Ответы [ 2 ]

1 голос
/ 27 августа 2011

Я понял это! Этот раздел:

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>";
  }

Необходимо иметь if ($_POST["page"]) вместо ["p"]. Когда я пошел и изменил, как страницы были названы, я не понял, что форма также имеет имя «страница».

0 голосов
/ 27 августа 2011

Изменить

if ($_POST['page']) {

на

 if ($_GET['page']) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...