从$ _POST或$ _GET动态加载值

时间:2014-04-17 17:19:58

标签: php forms post get

我正在php编写一个form-helper类,它应检查是否通过方法提交了一个值,即定义的表单。

public function getValue($name) {
    $getFrom  = ($this->method == 'post') ? '_POST' : '_GET';
    return isset($$getFrom[$name]) ? $$getFrom[$name] : null;
}

$ this->方法是post或get,它依赖于表单。 这个方法对我来说很好,但是php会抛出“非法字符串偏移”警告。如果不使用if-block,我该怎么办。

谢谢!

2 个答案:

答案 0 :(得分:1)

我知道回复是尝试用更好的方法帮助用户,但他们没有回答这个问题。为什么它会抛出他看到的错误?我刚刚对此进行了测试,以确保我的假设是正确的。

当他使用$$ getFrom [$ name]时,PHP首先解析" $ getFrom [$ name]"。这就是抛出错误的原因。他显然希望在不包含[$ name]的情况下解析$ getFrom。所以,他需要使用$ {$ getFrom} [$ name]。

答案 1 :(得分:-1)

试试这个,

public function getValue($name) {       
   return isset($_REQUEST[$name]) ? $_REQUEST[$name] : null;
}