1

ライター向けの非常にシンプルなテキスト エディターを Web アプリとして構築しています。これは本質的に美化されたテキスト領域ですが、テキスト領域のコンテンツを自動保存して、ユーザーが最初からやり直すことなくページを離れて戻ってくることができるようにする必要があります。問題は、私は PHP についてほとんど知らないことですが、何らかの形で PHP が必要になることは知っています。あなたが与えることができるヒント/指示/ヘルプは素晴らしいでしょう.

4

2 に答える 2

3

実際のコードを見ずに具体的な例を示すのは難しいです。しかし、これがあなたがこれを機能させる方法です。本当にいくつかの方法があります。

最初に考える必要があるのは、その一時的なコンテンツをどこに保存するかということです。データベースやhtml5Webストレージに保存することも、テキストユーザーが編集しているテキストがそれほど大きくない場合はCookieに保存することもできます。

一時的なコンテンツをWebストレージに保存する:

一時的なコンテンツをWebストレージに保存できます。そして、ユーザーがブラウザを閉じて後で戻ってきた場合、最初に、一時的なコンテンツがWebストレージに保存されているかどうかを確認します。はいの場合は、彼の編集フォームにそのコンテンツを入力します。コンテンツをいつ保存するかを知るために、ある種の追跡システムを作成する必要があります。たとえば、5分ごとにコンテンツを保存できます。

一時的なコンテンツをデータベースに保存する:

データベース接続を開始するのに十分なPHPと、データベースにコンテンツを保存するのに十分なSQLを知っていると思います。あなたがする必要があるのは、AJAXを使用してフォームコンテンツを一時データベーステーブルに送信することです。ユーザーがフォームにテキストを書き始めると、フォームのコンテンツをPHPスクリプト/アクションコントローラーに送信して、そのコンテンツを一時テーブルに保存することがあります。一時的なコンテンツを保存するたびにユーザーにブラウザーの更新を強制したくないため、AJAXを使用してこれを実現します。次に、ユーザーがブラウザの電源を切り、テキストを編集したい場合は、最初にユーザーがデータベースに一時的なコンテンツを保存しているかどうかを確認し、そのコンテンツをフォームに挿入します。

これを機能させる方法はたくさんあります。コンテンツを保存する場所を決めるだけです。私はデータベースとクイックAJAX呼び出しを使用します。HTML5 Webストレージはすべてのブラウザーでサポートされているわけではなく、Cookieは巨大なテキストに対して小さく、実際にはこのように機能するようには設計されていないためです。また、ユーザーは自分の履歴を簡単にクリアできるため、クライアント側には依存しません。データベースとAJAXの呼び出しは、HTML5 Webストレージよりも複雑なソリューションですが、それが最善の方法だと思います。

基本的な考え方は次のとおりです。

  • HTMLフォームを生成する
  • 一時的なコンテンツがあるかどうかを確認し、ある場合はフォームに挿入します
  • ユーザーが自分のコンテンツを編集し、5分程度ごとに選択したストレージに保存できるようにします。

また、HTML5 WebストレージとAJAXを扱う場合は、jQueryを確認することをお勧めします。これにより、作業が楽になります。

あなたはこれをどのように解決できるかという基本的な考えを持っています。今すぐコードを書くのはあなた次第です:)頑張ってください!

于 2012-11-11T11:05:28.197 に答える
2

しかし、ユーザーが最初からやり直すことなくページを離れて戻ってくることができるように、テキスト領域のコンテンツを自動保存する必要があります。

トークンを使用してajaxとセッション[データベースに保存](またはCookie)を使用してphpで目的を達成できますが、ここではより簡単なアプローチを示します。(クライアント側のストレージオプションがあると仮定します)

シシフスを見てください

イントロから:

サイトに Sisyphus を使用すると、最新の (HTML5 をサポートする) ブラウザーでページを再度開くだけで、そのフォームでのすべての変更を確認できます。軽量 (3.5 KB) の jQuery プラグインはローカル ストレージを使用して、作業内容が失われるのを防ぎます。

サポートされているクッパ:

  • クローム 4+
  • Firefox 3.5 以降
  • オペラ 10.5+
  • サファリ 4+
  • IE 8+
  • Sisyphus の前にページにjStorageをロードした IE 6 & 7
于 2012-11-11T10:57:27.900 に答える