PHP Form Değişkenler ve POST - HTML kodlanmış Strings

0 Cevap php

Ben PHP bilginiz güçlü değilim, ama ben daha önce hiç görmedim. Bir yapılandırma dosyasında, bu yüzden gibi bir dizi tanımlanmış seçenekler listesi vardır:

$testarray[] = "None";
$testarray[] = "Item 1 with normal text";
$testarray[] = "Item 2® with html encoded string";
$testarray[] = "Item3® with another html encoded string";

Form oluşturulduğunda Yani şimdi, radyo düğmeleri bir listesini oluşturmak için her döngü için basit yapar:

foreach ( $testarray as $key=>$item){
echo '<div id="padBottom"><input type="radio" name="formItem"';
    if ( $item == $_SESSION['ss']['selection']) echo ' checked="checked"';
    echo ' value="' . $item. '" />' . $item. '</div>';
}

Olması gerektiği gibi şimdiye kadar çok iyi, formu oluşturur. Çalışmayan kısım ise deyim kısmıdır. Bu durumda, bu formu mesajlar, bu $_SESSION['ss']['selection'] = $_POST['formItem'];, oturumu gider değeri gerçek tescilli marka sembolü değil '&reg;' olarak ayarlamak için basit bir çağrı yapar bu sayfada ben beklenebilir. Bunu HTML kodlanmış varlık bir öğeyi seçin, sonuç olarak, biz bir maç almıyorsanız ve seçimi kaybettik gibi görünüyor. Bu örnekte, seçilen uygun radyo düğmesini birinci veya ikinci seçenek tercih sonuçları - seçenek 3 veya 4 seçerseniz, o zaman hiçbir seçimi bu ekrana döndüğünüzde yapılmış görünüyor.

Addtional bilgi - burada herhangi bir fark olmadığını bu sayfa için charset UTF-8'dir.

Things I have tried

  1. sonraki sayfada POST değişkeni üzerinde htmlspecialchars'ın: Sonuç, hiçbir şey, hala gerçek sembolü gösteren.
  2. Her radyo seçeneği için formu değer htmlspecialchars'ın: sonuç, I &amp;reg; iyi görüntü vermiyorsa benim değerinin bir parçası olarak olsun.

0 Cevap