2010-08-11 5 views
0

J'ai une chaîne, obtenir par Javascript (le contenu d'un div!);
Je veux écrire cette chaîne en PHP, parce que je veux un fichier texte avec ce contenu!

Quelle est la meilleure façon de procéder?Javascript & PHP :: Que faire?




Modifier [1]: Méthode des postes ne fonctionne, parce que j'ai caractères « < de » et les effacer (je ne sais pas pourquoi) ... Exemple: Je #include <stdio.h> et quand je l'appelle l'écho _REQUEST $ juste montrer #include ...

+0

S'il vous plaît, être plus précis – Richard

+1

#include en php? – jvenema

+0

Il ne montre pas les caractères '<' car votre navigateur pense qu'il s'agit de tags. Essayez d'utiliser 'echo htmlspecialchars ($ _ REQUEST);' à la place, ou utilisez 'header ('Content-type: text/plain');' avant de faire écho à quoi que ce soit. Ensuite, vous verrez que les caractères '<' sont réellement là. Si vous essayez d'écrire dans un fichier (sans le 'htmlspecialchars'), cela fonctionnera. – qmega

Répondre

0

POST la chaîne au serveur, la façon la plus simple est d'ajouter de la valeur à un formulaire sur la page et de le soumettre, mais vous pouvez présenter la valeur par AJAX si vous aimez ... voici l'exemple simple.

<div id="mydiv">Hello World</div> 

<form method="post" action="myphppage.php" id="myform"> 
    <textarea name="mytext" id="mytext"></textarea><br> 
    <input type="submit" value="Create File"> 
</form> 

<script type="text/javascript"> 
    document.getElementById("mytext").value = document.getElementById("mydiv").innerHTML(); 
    document.getElementById("myform").submit(); 
</script> 
0

Vous pouvez passer le texte de la chaîne via l'URL du fichier .php qui traiter.

Il y a plusieurs façons d'y parvenir que, un, très simple, pourrait être:

var text = "some"; 
var url = "http://myserver/webapp/file.php?content=" + text; 
location.href = url; 

ou avec la forme ou avec Ajax et ainsi de suite ...

+0

Ne pas oublier d'URL échapper les données. – icktoofay

1

Pour la partie Javascript, je suggère en utilisant jQuery.ajax. Il pourrait être déclenché, par exemple, lorsqu'un bouton est cliqué.

$.ajax({ 
    type: "POST", 
    url: "process_ajax_div.php", 
    data: { divHTML: $('#yourdiv').html() }, 
    success: function(){ alert('done!'); }, 
    error: function(){ alert('error!'); } 
}); 

Pour la partie PHP (fichier process_ajax_div.php) vous pouvez faire quelque chose comme ceci:

<?php 
    $divHTML = $_POST['divHTML']; 

    // now do whatever you want with $divHTML 
?>