簡體   English   中英

編輯內容可編輯的頁面並使用 php 保存

[英]Edit a page with content editable and save it using php

我正在努力圍繞一個我想從事的項目,以嘗試更熟悉 PHP 編程。

我想創建一個無需完整的 CMS 即可輕松更新的網站。 我正在考慮使用HTML5 contenteditable小部件。

我的設想如下:

  1. 用戶登錄並啟動一個會話,這將允許 php 回顯內容可編輯標簽,以便它僅在用戶通過身份驗證時可見。
  2. 登錄后,用戶可以更改文件並單擊保存按鈕,文件將被更新。 這是我需要幫助的地方

是否可以更新您當前所在的 php 文件? 如果是,它涉及 ajax 還是純 php? 如何傳遞contenteditable小部件中的內容以保存在服務器上? 我不想使用 FTP,所以我假設我必須學習如何使用 AJAX 來做到這一點? 我不想問,但如果你有示例代碼那就太棒了!

最后,這是一個超級重大的安全風險嗎?

提前致謝!

亞特蘭大

我只是做了類似的事情。 考慮到您已經構建了一個包含文本框和提交按鈕的<form>

<form action="update.php" method="post">
  <div><label for="textArea">Your Message</label></div>
  <div><textarea name="textArea" id="textArea"></textarea></div>
  <div><input type="submit" value="Save" /></div>
</form>

現在你只需要做一件事。 刪除<form>並將<textarea>替換為contentEditable <div> ,如下所示:

<strong>Your Message</strong>
<div contenteditable id="textArea"></div>
<input type="button" value="Save" id="saveBtn" />

如您所知,上面也充當富文本編輯器,現在您只需要做一件事。 使用 jQuery,使用 AJAX 發布表單並執行以下操作:

$(function () {
  $("#saveBtn").click(function () {
    var text = $("#textArea").html();
    var url = "update.php";
    $.post(url, {textArea: text}, function () {
      $("#textArea").css("background", "#ccc").prop("contenteditable", false);
      alert("Thanks for your message!");
    });
  });
});

要回答您關於安全性的問題,您必須擁有完美修補的服務器並使用 HTTPS。 這必須僅由服務器端處理。 現代瀏覽器確實足夠安全。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM