Question

Je suis en train de publier des données de formulaire dans une lightbox par jQuery et PHP. Il y a seulement 3 valeurs de champ que je dois passer. Je ne reçois aucune erreur sur pas soumettre, mais les e-mails ne sont pas d'origine. Je remarque (par Firebug) que les adresses e-mail qui sont entrés dans une zone de texte (qui sont les adresses email le formulaire envoie à) sont envoyés comme: « % 40 » au lieu de « @ ». Quelqu'un at-il vécu cela ou savoir pourquoi / comment résoudre ce problème?
Ma fonction jQuery est la suivante:

$('#notify form').submit(function(){
  $.post('path/to/action/to/send/email', { id: $("#id").val(), client_reviews: $("#client_reviewers").val(), client_reviewers_msg: $("#client_reviewers_msg").val() }, function(){
  tb_remove();
  $('#client_reviewers').val('');
  $('#client_reviewers_msg').val('');
});
return false;

});

Merci d'avance pour toute aide. j

Était-ce utile?

La solution

Qu'est-ce que vous voyez est URL encodage .

En fait, le @ est un caractère spécial dans une URL. Ainsi, lorsque vous soumettez un champ avec un caractère spécial, il doit être échappé. Ceci est très utile dans une requête GET où les valeurs de champ finissent par dans l'URL, mais une requête POST suit les mêmes règles.

En PHP, vous pouvez utiliser la fonction urldecode pour décoder cela.

Autres conseils

% 40 est la représentation URL du signe @. Vous devrez URLDecrypt l'email en php.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top