POST tarihinde eklendi Karakterler

3 Cevap php

Ben başka bir dosyaya basit formu ilanı var. Ben yaşıyorum sorun TEXTAREA alan ile.

Form TEXTAREA olarak, ben bu girin:

<h1 class="padlock">Member Login</h1>

PHP ile echo ve Çıktı diğer sayfada:

<h1 class=\"padlock\">Member Login</h1>

Otomatik karakterleri kaçıyor. Ben başka bir TEXTAREA kutusuna çıkış gösteren ediyorum.

Nasıl tam olarak aynı olabilir yapabilir?

3 Cevap

Magic Quotes açıktır.

Bu PHP kaldırılmış bir özelliktir. Bu, tüm gelen kullanıcı verilerini kaçmak için kullanılmıştır. Sen stripslashes() orijinal verileri geri almak için kullanabilirsiniz:

if (get_magic_quotes_gpc()) {
    $_POST['textareaname'] =stripslashes($_POST['textareaname']);
}

veya tüm $ _POST dizisi için bu uygulamak için:

function stripslashes_recursive($data){
  if(is_array($data){
    $new_data = array();
    foreach($new_data as $key => $entry){
      $new_data[$key] = stripslashes_recursive($entry);
    }
    return $new_data;
  } else { 
    return stripslashes($data);
  }
}

if (get_magic_quotes_gpc()) {
    $stripped_postdata = stripslashes_recursive($_POST);
}

Not: özyinelemeli fonksiyonu sonrası veri dizileri desteklemek için kullanılır.

Ups ... stripslashes!

$ _POST Değişkeni kabul komut üstündeki bu kullanın:

if (get_magic_quotes_gpc()){
  foreach ($_POST as $key=>$val){
    $_POST[$key] = stripslashes($val);
  }
}

PHP bazı sürümleri otomatik olarak kaçmak ve gerçek bir ağrı var. Gelecek sürümleri yok.