编辑内容可编辑的页面,并使用php保存

问题描述 投票:2回答:2

[我想把我的头围在一个我想继续努力的项目上,以尝试更加熟悉PHP编程。

我想创建一个无需全面的CMS即可轻松更新的网站。我当时正在考虑使用HTML5 contenteditable小部件。

我设想的是以下内容:

  1. 用户登录并启动会话,该会话将允许php回显内容可编辑标记,以便仅在验证用户身份后才可见。
  2. 登录后,用户可以更改文件并单击保存按钮,文件将被更新。这是我需要帮助的地方

是否可以更新您当前使用的php文件?如果是这样,它涉及的是Ajax还是纯PHP? 如何传递contenteditable小部件中的内容以保存在服务器上?我不想使用FTP,所以我假设我必须学习如何使用AJAX进行此操作?我不愿意问,但是您是否有示例代码会很棒!

最后,这是超级主要的安全风险吗?

提前感谢!

Atlante

javascript php jquery ajax html5
2个回答
1
投票

我刚刚做了类似的事情。考虑到您已经构建了一个<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。这只能由服务器端处理。现代的浏览器确实足够安全。


0
投票

这可能会帮助您使用简单的PHP读/写HTML文件,该文件使用受密码保护的简单ContentEditable,因此您可以将更改直接保存到文本文件中。http://www.abrandao.com/2019/12/saving-contenteditable-html-using-php/

© www.soinside.com 2019 - 2024. All rights reserved.