2011-08-27 266 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"]。當我去了,並改變了如何命名的網頁,我沒有意識到該表格也有「頁面」的名稱。