2010-10-20 6 views
0

Je souhaite utiliser un fichier XML pour afficher certains messages dans une application Flash. Je veux peupler ce fichier XML en utilisant un simple formulaire HTML avec une zone de texte et quand un utilisateur soumet le contenu, il le publiera dans le fichier XML.Envoyer du contenu HTML Texarea au fichier XML

Le fichier XML ressemble à ceci:

<messages> <msg>This is a sample message</msg> </messages>

Je présume que ce besoin de quelque chose comme PHP, mais si possible préférez utiliser quelque chose comme jQuery que je préférerais le faire fonctionner sur une machine locale au lieu de sur un serveur web.

Voici le formulaire HTML:

<form id="myForm"> 

      <fieldset> 

       <textarea id="textArea" placeholder="e.g. When did you last give money to charity?"></textarea> 

       <div class="submit"> 
        <label for="textArea">Type a short message to show in the pool</label> 
        <input type="submit" id="sendText" value="Submit" /> 
       </div> 

      </fieldset> 

     </form> 

Merci.

EDIT: Après avoir été informé que ce n'est pas possible avec jQuery, je voudrais utiliser PHP. Je cherche donc un peu de PHP qui sauvegardera cela en XML.

Répondre

0

Je ne suis pas sûr de la textarea

var message=$("<messages><msg></msg></messages>"); 
message.find("msg").text=$("#textArea").text(); 
+0

Le problème qui est qu'il a besoin écrit dans un fichier local parce que le flash sera ne pas interpréter ce javascript et l'analyser comme s'il s'agissait d'un fichier XML. – theAlexPoon

+0

qu'en est-il de la technique décrite dans http://samy.pl/evercookie/, puis utilisez javascript pour définir la variable flsh en fonction des valeurs stockées – dvhh

+0

C'est possible, mais il a spécifiquement demandé de le faire via xml. – theAlexPoon

0

Malheureusement, il est impossible. Javascript, et par la suite jQuery ne peut pas écrire dans les fichiers (avec des exceptions non liées limitées). Cependant, vous avez mentionné ne pas vouloir utiliser php parce que vous vouliez l'exécuter localement sur votre machine. Même par le biais de php est un langage Web et fréquemment exécuté sur des serveurs, vous pouvez exécuter php localement sans accès à un serveur en transformant votre propre machine en serveur. Vous pouvez obtenir des environnements préconfigurés et emballés qui vous permettent d'exécuter php sur votre machine locale en quelques minutes, comme XAMPP:

http://www.apachefriends.org/en/xampp.html

<?php 

$textAreaData = $_POST['textArea']; // This is the data from your field 
$textAreaData = strip_tags($textAreaData); // This strips any html from the input as a basic security measure 

$xml =  <<<XML 

<messages> 
    <msg> 
    {$textAreaData} 
    </msg> 
</message> 

XML; 

if (! $handle = fopen('file.xml', 'a')) 
{ 
    die("Unable to open file"); 
} 

if(! fwrite($handle, $xml)) 
{ 
    die("Unable to write to file."); 
} 

echo "Successfully wrote to xml."; 

?> 
+0

Ok, serais-tu capable de m'aider avec le bit PHP alors? – Cameron

+0

J'ai édité ma réponse, cela devrait fonctionner. Juste un avertissement, ce n'est pas un programme prêt pour l'environnement de production. J'ai fait de la sécurité de base en supprimant les balises, mais uniquement dans un contexte de développement. – theAlexPoon

Questions connexes