繁体   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