Giriş dizi filtre nasıl PHP Filtre,

2 Cevap php

Ben form verileri temel sanitasyon ve doğrulama perfom PHP filtre kullanıyorum.

Ben yaşıyorum prensibi sorun, tüm verileri POST girişi için bir dizi olduğunu bu yüzden benim formu işaretlemek olmasıdır. örneğin form alanları, sayfa [name], sayfa [slug], sayfa [body], sayfa [durum], vb

Aşağıdaki kullanarak:

filter_input(INPUT_POST, 'page[name]', FILTER_SANITIZE_STRING);
OR
filter_input(INPUT_POST, "page['name']", FILTER_SANITIZE_STRING);

Ben değişken erişemiyor. Birisi filter_input dizisi verilere erişmek için kullanmak bana doğru adını söylemek () lütfen

2 Cevap

Ancak sadece page dizi filtre ve istediğiniz değeri alabilir, (istediğiniz gibi, kolayca) Eğer tek bir değer erişebilirsiniz sanmıyorum.

$page = filter_input(INPUT_POST, 'page', FILTER_SANITIZE_STRING, FILTER_REQUIRE_ARRAY);
if (array_key_exists('name', $page)) {
    $name = $page['name'];
}

Eğer çiğ girişi ile çalışma yeteneğini kaybetme Tamam iseniz Yoksa, o zaman sadece kullanabilirsiniz:

if (isset($_POST['page']['name'])) {
    $name = filter_var($_POST['page']['name'], FILTER_SANITIZE_STRING);
}

Ancak her ikisi de, oldukça çirkin.

Nasıl hakkında

$_POST['page'] = filter_var_array($_POST['page'], FILTER_SANITIZE_STRING);