2011-08-27 271 views
1

我设法让它在编辑器中加载正确的页面,但现在我无法弄清楚为什么TinyMCE不能保存。保存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很陌生,所以这对我来说很困惑。我跟着a tutorial最初得到这个设置,现在我试图让它工作,我想如何。

问题基本上是我不知道要在PHP中更改哪些内容才能正确加载该内容。

回答

-1

变化

if ($_POST['page']) { 

if ($_GET['page']) { 
+0

这对我来说什么也没有......想出我最初的问题,但现在它不会因为某些原因而保存。 – JacobTheDev

1

我想通了!本节:

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"]。当我去了,并改变了如何命名的网页,我没有意识到该表格也有“页面”的名称。