PHP: basit bir form kodlama / kod çözme

3 Cevap php

Muhtemelen, bu soru olsa da, ben tekrar soracağım, daha önce istendi.

Şu anda, ben formu kodlama ile bir sorunla karşı karşıya ediyorum. Benim formu gönderme, tüm alanlarda "+" karakteri ile değiştirilir. Ben gerçek bir mekanda bu "+" karakterini değiştirmek istiyorum.

Birisi bunun için bir PHP çözüm var mı?

Şimdiden teşekkürler.

Alkış, Lennart

3 Cevap

Yeniden olamaz

<form>
<input type=text name="a" value="text with spaces">
<input type=submit>
</form>
<?php if (isset($_GET['a'])) echo $_GET['a'] ?>

hiç boşluk. Ben yanlış yapıyorum ne?

Tarayıcı doğru davranırsa bu olmamalıydı. Benim varsayım bir javascript veri ile karıştırmasını olduğunu olurdu. URL'ler kodlama zaman artılar ile değiştirilmesi alanlarda belki bu yardımcı olur, yapılır.

Sen firebug herhangi bir js çakışmaları kontrol etmek için kullanabilirsiniz.

Ben vb formu mesajları işlemek için AJAX (x = Bu durumda json) istimal

O zaman kodunu görelim.

Muhtemelen siz de onu form kodlar başka bir bileşen önce verilerinizi el-kodlamak oluşturmaya çalışıyor gibi bir şey yapıyoruz. + ile bir boşluk değiştirilmesi oldukça standart ve form-kodlama için beklenen, ancak yanlışlıkla iki kez bunu yaparsanız, o zaman sonunda bir kodlanmış + ile sol gidiyoruz o.

Eğer JavaScript escape işlevini kullanıyorsanız: yapmak değil. Eğer bir parametre eklenmesi için bir form değer-kodlamak url gerektiğinde (, uygun bir yöntem encodeURIComponent olduğunu. escape kendine ait bir meyveli standart dışı kodlama hangi neredeyse gerekir kullanmak için herhangi bir ihtiyaç var.) asla