Problème passage de variable de javascript vers php

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème passage de variable de javascript vers php

par Tictac » 24 juin 2006, 08:39

J'ai trouvé une solution primaire =>

txt = txt.replace(/ /g,' ');

Le soucis et que je vais devoir faire qqch au cas où on mets un & dans l'editeur de txt !!

Et aussi , je perd les sauts de ligne double!

Là , je vais avoir besoin de test talents pour les regex Cyrano :oops:

Merci d'avance

par Tictac » 24 juin 2006, 08:27

J'ai testé un htmlentities($_POST['txt']) pour voir ou le code bloc dans ajax et il bloque juste avant le  

dans le code suivant :

<div>hello</div>
<div>&nbsp;</div>
<div>comment va ?</div>

Etrange ! je comprend pas tout là !serais- ce par ce qu'il prend le & comme une nouvelle variable ? dans mon code de la requete ajax ?

par Tictac » 24 juin 2006, 08:16

ok je vais mettre le bout de code

Depuis hier j'ai essayé le utf8-decode sur ma variable txt mais sans succès.
Ce texte est envoyé ensuite dans un mail et c'est là qu'apparait le problème d'accent.

j'utilise un header dans mon mail de type :
$headers .= 'Content-type: text/html; charset=ISO-8859-1' . "\r\n";
J'ai aussi essayé le
$headers .= 'Content-type: text/html; charset=UTF-8' . "\r\n";
Mais sans succès ...

Voici le code coté javascript :
function sendMail()
	{
SendTxt();
var txt = document.getElementById('txt').value ;
// autres variables sont traité aussi ici

//Execution de la requete AJAX
sendData('contact='+contact+'&language='+language+'&txt='+txt+'&file='+filevalue+'&action='+reply+'&reserv_id='+reservid, 'mailing.php', 'POST' , 'mailer') 
                }

//Voici la fonction SendTxt(); qui permet de récupérer le txt du editeur wysiwyg.

function SendTxt()
	{
	document.getElementById('txt').value = oEdit1.getHTMLBody()
	}
//Je met simplement la valeur dans un champ hidden
Ensuite , coté php , je récupère mes variables en $_POST
Quand je fais un echo du $_POST['txt'] pas de problème d'accents.
Par contre si ma variable javascript est du type

Code : Tout sélectionner

<div align="left">Salut</div> <div>&nbsp;</div> <div align="left">Comment ça va?</div>
je ne récupère que la première ligne , c'est à dire que le echo $_POST['txt'] me retourne "Salut" et pas le reste , pourant un alert(txt) du coté javascript me retourne bien tout mon code.
Je pense que le reste est perdu dans AJAX mais pourquoi !!

Le problème d'accent apparait juste dans mon mail

Merci pour ton aide ;)

Re: Problème passage de variable de javascript vers php

par Cyrano » 24 juin 2006, 07:42

...un editeur de texte wysi.. je sais plus quoi
WYSIWYG = "What You See Is What You Get" = "Ce que vous voyez, c'est ce que vous obtenez". C'est le principe de fonctionnement d'éditeurs comme DreamWeawer ou FrontPage.
De plus mes é deviennent é !!
Ça, c'est un problème d'encodage utf8, il faut donc utiliser utf8_decode() coté PHP

Un bout de code aiderait à comprendre ce que tu essayes de faire.

Problème passage de variable de javascript vers php

par Tictac » 23 juin 2006, 21:24

Bonjour , j'utilise un ajax pour transmettre des variables récupérer au préalables via javascript.

Je récupère un texte venant d'un editeur de texte wysi.. je sais plus quoi lol

jusque là , pas de problème , si je fais un alert c'est bon mais apres envois de la valeur au php via ajax , si mon code comporte de <div>&nbsp;</div>
le txt qui suit ne s'affiche pas !

De plus mes é deviennent é !!

Comment corriger ça ?

Je ne trouve pas malgré bcp de recherche personnel

Merci d'avance !