0

私のフォームには非常に奇妙な問題があり、それを解決する方法がわかりません。検索を試みましたが、何も見つかりませんでした。データを処理するために、phpページで$getを使用してデータを受け取るフォームがあります。不思議なことに、たとえば電子メールのようなフィールドに@を挿入すると、データの送信プロセス中に@が失われます。phpページにリダイレクトする前の行で、@が存在するかどうかを確認したので、この文字がプロセスの次のステップで失われるかどうかはわかりません。

ヒントはありますか?

リダイレクトは、送信フォームをクリックしたときに呼び出すjavascript関数から取得されます。

window.location.href = 'index.php?pagina=candidaturasB&'+ qstringA;

「qstringA」にはフォームのすべてのデータが含まれています。入力に@を入力した場合、リダイレクト行の前にalert(qstringA)を実行すると、@はその後のURLのphpページに表示されます。データを受け取った場所には@はありません。

例:index.php?...&email = "ren@something.com"は、URL "index.php?...&email="rensomething.com"に表示されます。

4

1 に答える 1

1

urlencode()各フォームデータに使用:

例:

$url = "index.php?pagina=candidaturasB";
$url .= "&email=".urlencode($_GET['email']);
$url .= "&data="urlencode($_GET['data']);

そして、結果の文字列をに渡しますwindow.location.href

于 2012-08-06T11:01:37.143 に答える