在hdwiki  源代码中 有这样一段函数class base { var $ip;
var $time;
var $db;
var $view;
var $cache;
var $forward;
var $user = array();
var $setting = array();
var $advertisement = array();
var $channel = array();
var $style=array();
var $plugin = array();
var $get = array();
var $post = array(); function base(& $get,& $post) {
$this->time = time();
$this->ip =util::getip();
$this->get=& $get;
$this->post=& $post;

$this->init_db();
$this->init_cache();
$this->init_user();
$this->init_template();
$this->init_global();
}........下面的我就不写了在其他的文件中 继承完这个类 就可以这样调用了
$news=$this->post[news];有一点我感到疑惑   按照普通的用法  是$_POST [news]   这里这样调用的话 $this->post  =& $get  这里只是一个实体调用啊  怎么会得到表单的数据呢?还有一个问题是 hdwiki中 表单中一些  input  textarea  “name” 属性都是这样的  <textarea id="content" name="news[content]">   <input class="txt" name="news[from]" value="" class="txt" type="text">name属性 这样的什么意思  而且$news=$this->post[news];这样调用        
请大家帮帮忙 谢谢啦!!

解决方案 »

  1.   

    $this->post是数组,$_POST也是一个数组,$this->post['news']和$_POST['news']没有什么区别;在$this->post = &$get里,&符号我觉得是多余的;在这个类构造函数里已经把表单传来的值$get 和$post作为参数对类的成员($this->post,$this->get)进行初始化了,所以在new这个类后你可以直接使用成员$this->post[]或$this->get[]去获取表单传的值。
      

  2.   


    $this->post是数组,$_POST也是一个数组,  这话倒是能理解 但是$this->post['news']和$_POST['news']没有什么区别 这句话怎么理解
      

  3.   

    既然都是一样的类型,只是换了皮就不认识了?你怎么理解$post和$this->post的?
      

  4.   

    $post和$this->post  当然是一样的喽    但是和$_POST['news'] 就有区别了吧  $this->post   是类中的一个成员   而$_POST['news'] 是一个超级全局变量数组
      

  5.   

    ok,全局变量数组也是数组,你穿参谁管你这个,数组$post和$_POST[]处理时没有分别
      

  6.   

    不是表单所有post的数据 都放在$_POST[]  数组中吗   也能用$post[]接受吗
      

  7.   

    接受当然只能用$_POST,接完你想怎么玩都可以,不用拘泥于只用一种形式
      

  8.   

    在实例化BASE的时候你把表单的传值当作参数,比如像$newbase = new Base($_POST,$_GET);
    然后你就可以用
    $this->post['news']去获取$_POST['news'] 了
      

  9.   

    对啊  我现在的问题就是 $news=$this->post[news];   他怎么用这种形式接收呢   这就等于是 $news=$post[news]     $post不能接受不是吗