Frage

Ich versuche, Daten in einer Lightbox über JQuery und PHP zu veröffentlichen. Es gibt nur 3 Feldwerte, die ich übergeben muss. Ich bekomme keine Fehler beim Senden, aber die E -Mails senden nicht. Ich bemerke (über Firebug), dass die E -Mail -Adressen, die in ein Textfeld eingegeben werden (die E -Mail -Adressen, an das das Formular gesendet wird), als "%40" anstelle von '@' gesendet werden. Hat jemand dies erlebt oder gewusst, warum/wie man dieses Problem behebt?
Meine JQuery -Funktion lautet wie folgt:

$('#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;

});

Vielen Dank im Voraus für jede Hilfe. j

War es hilfreich?

Lösung

Was Sie sehen, ist URL -Codierung.

Grundsätzlich das @ ist ein besonderer Charakter in einer URL. Wenn Sie also ein Feld mit einem besonderen Charakter einreichen, muss es entkommen werden. Dies ist am nützlichsten in einer GET -Anforderung, bei der die Feldwerte tatsächlich in der URL enden, aber eine Postanforderung folgt den gleichen Regeln.

In PHP können Sie die verwenden URLDECODE Funktion, um dies zu dekodieren.

Andere Tipps

%40 ist die URL -Darstellung des @ Zeichens. Sie müssen die E -Mail in PHP urldecrypt.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top