类继承了,但是属性没有了。
不起作用了。全部代码:<?php
class qiye{
public $id;
public $name;
public $site;
public $lxr;
public $sj;
public $tel;
public $email;
public $desc;
public $addr;

function __construct(){ }

function post() {

$this->id=(isset($_POST['id']))?intval($_POST['id']):"";
$this->id=(isset($_GET['id']))?intval($_GET['id']):$this->id;
$this->name=(isset($_POST['name']) and $_POST['name']!='')?trim($_POST['name']):exit('公司名称不可以为空!');
$this->site=(isset($_POST['site']) and $_POST['site']!='')?trim($_POST['site']):exit('公司网站不可以为空!');
$this->lxr=(isset($_POST['lxr']))?trim($_POST['lxr']):"";
$this->sj=(isset($_POST['sj']))?trim($_POST['sj']):"";
$this->tel=(isset($_POST['tel']))?trim($_POST['tel']):"";
$this->email=(isset($_POST['email']))?trim($_POST['email']):"";
$this->desc=(isset($_POST['desc']))?trim($_POST['desc']):"";
$this->addr=(isset($_POST['addr']) and $_POST['addr']!='')?trim($_POST['addr']):exit('公司地址不可以为空');
$sql="INSERT INTO `hy`.`qiye` (`id` ,`name` ,`site` ,`lian_xi_ren` ,`shou_ji` ,`tel` ,`email` ,`desc` ,`address` ,`date` )
VALUES (NULL , '$this->name', '$this->site', '$this->lxr', '$this->sj', '$this->tel', '$this->email', '$this->desc', '$this->addr', NOW( ));";
$result=mysql_query($sql);
if(mysql_affected_rows()!=''){
echo '恭喜你!添加成功!';
echo '<br/>';
echo __SITE__.'/add.php';
echo meta_refresh(2,__SITE__.'/add.php');
}else{
echo '添加失败';} }
}
class one extends qiye {
public $echo_html;
function __construct()
{
$this->id=(isset($_POST['id']))?intval($_POST['id']):"";
$this->id=(isset($_GET['id']))?intval($_GET['id']):$this->id;

}
function update_one()
{
$sql="UPDATE `hy`.`qiye` SET `name` = '$this->name',
`site` = '$this->site',
`lian_xi_ren` = '$this->lxr',
`shou_ji` = '$this->sj',
`tel` = '$this->tel',
`address` = '$this->tel' WHERE `qiye`.`id` =$this->id LIMIT 1 ;";
echo $sql;
$result=mysql_query($sql);
if(mysql_affected_rows()!=''){
echo '恭喜你!修改成功!';
}else{
echo '修改失败!';
}
}
?>类one中的那些$this->全部都是空的,除了$this->id。
如何解决?
我错在哪里了?

解决方案 »

  1.   


        class one extends qiye {
            public $echo_html;
            function __construct()
            {
                parent::post();
                $this->id=(isset($_POST['id']))?intval($_POST['id']):"";
                $this->id=(isset($_GET['id']))?intval($_GET['id']):$this->id;
                
            }
        function update_one()
        {
            $sql="UPDATE `hy`.`qiye` SET `name` = '$this->name',
    `site` = '$this->site',
    `lian_xi_ren` = '$this->lxr',
    `shou_ji` = '$this->sj',
    `tel` = '$this->tel',
    `address` = '$this->tel' WHERE `qiye`.`id` =$this->id LIMIT 1 ;";
            echo $sql;
            $result=mysql_query($sql);
            if(mysql_affected_rows()!=''){
            echo '恭喜你!修改成功!';
            }else{
            echo '修改失败!';
            }
        }
      

  2.   

    在子类的构造方法调用下父类的post方法
      

  3.   

    不行....
    在子类one中还有一个方法get_detail_one(){};如果这样的话,那么到了父类qiye()的post()开始的这里
    $this->name=(isset($_POST['name']) and $_POST['name']!='')?trim($_POST['name']):exit('公司名称不可以为空!');
    就会停用
    我想要的是调用父类的中的所有的属性
    如何才可以调用到
      

  4.   

    专门封装个函数,不要在post函数中把insert这种语句包进去
    <?php
    class qiye{
        public $id;
        public $name;
        public $site;    
        public $lxr;
        public $sj;
        public $tel;
        public $email;
        public $desc;
        public $addr;function set()
    {
            $this->id=(isset($_POST['id']))?intval($_POST['id']):"";
            $this->id=(isset($_GET['id']))?intval($_GET['id']):$this->id;
    $this->name = "lee";
            $this->site = "www.lizhili.com";
            $this->lxr=(isset($_POST['lxr']))?trim($_POST['lxr']):"";
            $this->sj=(isset($_POST['sj']))?trim($_POST['sj']):"";
            $this->tel=(isset($_POST['tel']))?trim($_POST['tel']):"";
            $this->email=(isset($_POST['email']))?trim($_POST['email']):"";
            $this->desc=(isset($_POST['desc']))?trim($_POST['desc']):"";
            $this->addr="shenzheng";
    }function add()
    {
    $this->set();
            $sql="INSERT INTO `hy`.`qiye` (`id` ,`name` ,`site` ,`lian_xi_ren` ,`shou_ji` ,`tel` ,`email` ,`desc` ,`address` ,`date` )
            VALUES (NULL , '$this->name', '$this->site', '$this->lxr', '$this->sj', '$this->tel', '$this->email', '$this->desc', '$this->addr', NOW( ));";
            $result=mysql_query($sql);
            if(mysql_affected_rows()!=''){
            echo '恭喜你!添加成功!';
            echo '<br/>';
            echo __SITE__.'/add.php';
            echo meta_refresh(2,__SITE__.'/add.php');
            }else{
            echo '添加失败';}}
    }class one extends qiye
    {
            function __construct()
            {
    parent::set();
            }}$one = new one();var_export($one);
    ?>
      

  5.   

    哪儿都没有错,如果不执行post方法,则那些属性都是空的