POST diziler içine dizeleri kodlama için kesin kurallar / PHP işlevi nedir?

1 Cevap php

Sadece PHP web geliştirme biniyorlar. Ben bir kullanıcı dinamik olarak oluşturulan onay kutularını bazı dizi denetler ve POST yoluyla gönderen bir HTML formu var. PHP tarafında, ben tıklanan onay kutularını hangi kontrol etmek istiyorum.

Ben bir dizi $ full_list var, ve benzeri bir şey yapıyorum

$selected_checkboxes = array_filter($full_list, function($item) {
    array_key_exists($item, $_POST);
  }

Bir liste öğesi adlı olduğunda POST dizideki o "Peanut_Butter" adlı beri, örneğin "Fıstık Ezmesi" için, sorunlar çalıştırın.

Ben kesinlikle sadece array_key_exists önce kontrol "_" ile "" str_replace olabilir, ama daha temel bir kodlama sorun burada olduğunu hayal edin; Özellikle, ben "Peanut_Butter" içine HTML Formları (value = "Fıstık Ezmesi") normal dizeleri dönüştüren tam olarak ne katman emin değilim.

Yani:

  • hangi katmanda bu dönüşüm sorumludur? Bu tarayıcı mı?
  • ne tam dönüşüm kuralları vardır ve bu tam bir dönüşüm çoğaltılacak orada bir PHP fonksiyonu var?

1 Cevap

PHP bu yapmaz. Altçizgiye boşluk dönüştürmektedir istemci tarafında bir şey var.

Tarayıcı urlencode() eşdeğerini kullanarak her bir değişken kodlarım. Bu programcı için şeffaf yüzden PHP otomatik olarak bu dizeleri çözecektir.

edit The equivalent in javaScript is escape(). But it is very very likely there is some js code manually converting spaces to underscores.