2012-11-11 2 views
1

Je construis un éditeur de texte très simple pour les écrivains en tant qu'application web, c'est essentiellement un textarea glorifié, mais j'en ai besoin pour sauvegarder automatiquement le contenu de la zone de texte afin que l'utilisateur puisse quitter la page et revenez sans avoir à recommencer. Le problème est, je connais très peu de PHP, mais je sais que j'en aurai besoin sous une forme ou une autre. Tous les conseils/directions/aide que vous pouvez donner serait génial.Autosave textarea contenu javascript et php

+0

Je vous suggère d'apprendre si vous connaissez ** TRÈS PEU PHP **, et d'autre part utiliser google pour certains tutoriels –

+0

Je suggère d'utiliser des composants existants, par exemple http://aloha-editor.org du côté client et un cadre comme [tag: meteor] pour la fonctionnalité de persistance. –

Répondre

2

mais je besoin pour autosave le contenu de la zone de texte afin que l'utilisateur peut quitter la page et de revenir sans avoir à recommencer.

Vous pouvez faire l'objet en php avec ajax et session [avec le stockage dans la base de données] (ou cookies) avec un jeton, mais voici une approche plus simple. (Assumig vous avez l'option de stockage côté client)

jeter un oeil à sisyphus

de l'intro:

Avec Sisyphe vous rouvrez simplement sur place page dans votre moderne (avec le soutien HTML5 ) navigateur et voir tous vos changements à ces formes. C'est léger (3,5 Ko) Le plugin jQuery utilise le stockage local pour empêcher la perte de votre travail .

supportés bowsers:

  • Chrome 4+
  • Firefox 3.5+
  • Opera 10.5+
  • Safari 4+
  • IE 8+
  • IE 6 & 7 avec jStorage à la page chargée avant Sisyphus
+0

Merci! Ce work-side côté client est le meilleur pour moi en ce moment (courir sur un délai serré). – OliverW

+1

+ c'est élégant aussi :) – Baba

3

Il est difficile de vous donner un exemple concret sans voir de code réel. Mais voici comment vous pouvez obtenir ce travail. Il y a peu de façons vraiment.

La première chose à laquelle vous devez penser est: où allez-vous enregistrer ce contenu temporaire? Vous pouvez l'enregistrer dans votre base de données, le stockage Web html5, ou vous pouvez même l'enregistrer dans un cookie, si les utilisateurs de texte ne sont pas trop gros.

Enregistrement contenu temporaire dans un stockage Web:

Vous pouvez enregistrer le contenu temporaire dans le stockage Web. Et puis, si l'utilisateur décide de fermer son navigateur et de revenir sur celui-ci, vous devrez d'abord vérifier s'il a du contenu temporaire enregistré dans son stockage Web. Si oui, vous remplissez son formulaire d'édition avec ce contenu. Vous devriez créer une sorte de système de suivi pour savoir quand sauvegarder le contenu. Vous pouvez enregistrer du contenu permet de dire toutes les 5 minutes.

Enregistrement contenu temporaire dans une base de données:

Je suppose que vous en savez assez PHP pour démarrer la connexion de base de données, et assez SQL pour sauver une partie du contenu dans la base de données. Ce que vous devez faire, c'est utiliser AJAX pour envoyer le contenu du formulaire dans une table de base de données temporaire.Lorsque l'utilisateur commence à écrire du texte dans le formulaire, vous envoyez de temps en temps le contenu d'un formulaire à votre script/contrôleur d'action PHP qui enregistrerait ce contenu dans une table temporaire. Vous utiliserez AJAX pour que cela se produise, car vous ne voulez pas forcer votre utilisateur à actualiser son navigateur chaque fois que vous souhaitez enregistrer du contenu temporaire. Et puis, si l'utilisateur éteint son navigateur et veut éditer le texte, vérifiez d'abord si l'utilisateur a du contenu temporaire enregistré dans la base de données et insérez ce contenu dans son formulaire.

Il y a beaucoup de façons de faire ce travail, il vous suffit de décider où enregistrer un contenu. Je voudrais aller avec la base de données et les appels rapides AJAX. Depuis le stockage Web HTML5 n'est pas pris en charge avec tous les navigateurs, et les cookies sont petits pour le texte énorme et ne sont pas conçus pour fonctionner de cette façon vraiment. Et je ne compterais pas sur le côté client puisque l'utilisateur peut facilement effacer son historique. La base de données et les appels AJAX sont des solutions plus complexes que le stockage Web HTML5, mais je pense que c'est la meilleure solution.

idée de base est la suivante:

  • Générer formulaire HTML
  • Vérifiez s'il y a un contenu temporaire et l'insérer dans la forme si il est
  • Laisser l'utilisateur modifier son contenu, et enregistrez-en un stockage de votre choix toutes les 5 minutes environ.

Et lorsque vous travaillez avec HTML5 Web Storage et AJAX, je vous suggère de jeter un oeil à jQuery, il peut vous rendre la vie plus facile.

Vous avez une idée de base comment pouvez-vous résoudre ce problème, c'est à vous d'écrire votre code maintenant :) Bonne chance!

+0

Merci pour votre réponse rapide, une explication claire des options était vraiment utile. Comme je suis paresseux et que j'aime jQuery, je vais côté client avec la réponse d'Itachi. Mais merci beaucoup, je suis très reconnaissant. – OliverW