遇到一个问题,大家帮忙解决一下

wang_youyu 2010-10-15 02:36:48
在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];这样调用


请大家帮帮忙 谢谢啦!!
...全文
58 点赞 收藏 11
写回复
11 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wang_youyu 2010-10-15
谢谢了 明白了 需要传参!
回复
lazysmile 2010-10-15
类的构造函数已经做过中间的工作了,构造函数你知道吧?
回复
wang_youyu 2010-10-15
对啊 我现在的问题就是 $news=$this->post[news]; 他怎么用这种形式接收呢 这就等于是 $news=$post[news] $post不能接受不是吗
回复
lazysmile 2010-10-15
在实例化BASE的时候你把表单的传值当作参数,比如像

$newbase = new Base($_POST,$_GET);
然后你就可以用
$this->post['news']去获取$_POST['news'] 了
回复
lazysmile 2010-10-15
接受当然只能用$_POST,接完你想怎么玩都可以,不用拘泥于只用一种形式
回复
wang_youyu 2010-10-15
不是表单所有post的数据 都放在$_POST[] 数组中吗 也能用$post[]接受吗
回复
lazysmile 2010-10-15
ok,全局变量数组也是数组,你穿参谁管你这个,数组$post和$_POST[]处理时没有分别
回复
wang_youyu 2010-10-15
$post和$this->post 当然是一样的喽 但是和$_POST['news'] 就有区别了吧 $this->post 是类中的一个成员 而$_POST['news'] 是一个超级全局变量数组
回复
lazysmile 2010-10-15
既然都是一样的类型,只是换了皮就不认识了?你怎么理解$post和$this->post的?
回复
wang_youyu 2010-10-15
[Quote=引用 1 楼 lazysmile 的回复:]
$this->post是数组,$_POST也是一个数组,$this->post['news']和$_POST['news']没有什么区别;在$this->post = &$get里,&符号我觉得是多余的;在这个类构造函数里已经把表单传来的值$get 和$post作为参数对类的成员($this->post,$this->get)进行初始化了,所以在new这个类后你可以直接使用成员$t……
[/Quote]

$this->post是数组,$_POST也是一个数组, 这话倒是能理解 但是$this->post['news']和$_POST['news']没有什么区别 这句话怎么理解
回复
lazysmile 2010-10-15
$this->post是数组,$_POST也是一个数组,$this->post['news']和$_POST['news']没有什么区别;在$this->post = &$get里,&符号我觉得是多余的;在这个类构造函数里已经把表单传来的值$get 和$post作为参数对类的成员($this->post,$this->get)进行初始化了,所以在new这个类后你可以直接使用成员$this->post[]或$this->get[]去获取表单传的值。
回复
相关推荐
发帖
PHP
创建于2008-08-27

1.9w+

社区成员

“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
申请成为版主
帖子事件
创建了帖子
2010-10-15 02:36
社区公告
暂无公告