通过html名称表单检索php变量

时间:2012-07-11 13:42:20

标签: php html variables

我只需知道它的html输入名称就需要检索一个php变量。

如:我知道输入的名称是admin [username]所以我想得到变量$ _POST ['admin'] ['用户名]

我需要对输入进行某种验证。换句话说,我在显示表单时保存html输入名称,但只在下一个服务器请求时测试它,所以我并不总是知道什么是php变量名,因为它可以通过javascript或我修改如果html输入名称是admin []

,则可以有数组

谢谢

1 个答案:

答案 0 :(得分:2)

$postdata = get_associative_array_from_post_data($post['admin']);

function get_associative_array_from_post_data($array){
    if(isAssoc($array)){
        /*foreach($array as $key=>$value){
            $your_key = $key;
            $your_value = $value;
        }*/
        return $array;
    }
    else{ //if the post array has no keys, search for arrays within this 
        $key_collection=array();
        foreach($array as $sub_array){

            foreach($sub_array as $key=>$value){
                $key_collection[$key][] = $value;
            }
        }
        return $key_collection;
    }

}    



function isAssoc($arr)
{
    return array_keys($arr) !== range(0, count($arr) - 1);
}

如果您发布:

admin [username] ='test'和admin [email] ='test@example.com'

你会得到

$postdata = array('username'=>'test', 'email'=>'test@example.com');

如果您发布: admin [] [username] ='test'和admin [] [username] ='test2' admin [] [email] ='test@example.com'和admin [] [email] ='test2@example.com'

你会得到:

$postdata = array(
                      'username'=>array('test', 'test2'),
                      'email'=>array('test@example.com', 'test2@example.com')
                 );