> 백엔드 개발 > PHP 튜토리얼 > Thinkphp 变量保存问题

Thinkphp 变量保存问题

WBOY
풀어 주다: 2016-06-06 20:34:29
원래의
1214명이 탐색했습니다.

<code>class AdminAction extends Action {
    private  $uid_t;
    public function addassets(){
        $uid = I('id');
        $this->uid = $uid;
        $this->setuid_t($uid);
        $this->display();
    }

    public function setuid_t($uid){
        $this->uid_t = $uid;
    }

    public function getuid_t(){
        return $this->$uid_t;
    }

    public function actaddassets(){
        $data['uid'] = $this->getuid_t();
        $data['assets_name'] = I('assets_name');

        if ($id=M('device')->add($data)) {
            $this->redirect('index');
        }else{
            echo M('device')->getLastsql();exit;
            $this->redirect('addassets');
        }
    }
</code>
로그인 후 복사
로그인 후 복사

在addassets()中从前端获得了一个变量id,保存在本地的uid,然后display出addassets.html页面。但是这个页面中不用uid这个变量,而下一个页面(addassets.html中有一个button跳转到actaddassets.html)actaddassets.html中需要用到uid这个变量。通过上面的方法在actaddassets()中获得不了uid这个变量。
初次学习,还往大神指点,谢谢!

回复内容:

<code>class AdminAction extends Action {
    private  $uid_t;
    public function addassets(){
        $uid = I('id');
        $this->uid = $uid;
        $this->setuid_t($uid);
        $this->display();
    }

    public function setuid_t($uid){
        $this->uid_t = $uid;
    }

    public function getuid_t(){
        return $this->$uid_t;
    }

    public function actaddassets(){
        $data['uid'] = $this->getuid_t();
        $data['assets_name'] = I('assets_name');

        if ($id=M('device')->add($data)) {
            $this->redirect('index');
        }else{
            echo M('device')->getLastsql();exit;
            $this->redirect('addassets');
        }
    }
</code>
로그인 후 복사
로그인 후 복사

在addassets()中从前端获得了一个变量id,保存在本地的uid,然后display出addassets.html页面。但是这个页面中不用uid这个变量,而下一个页面(addassets.html中有一个button跳转到actaddassets.html)actaddassets.html中需要用到uid这个变量。通过上面的方法在actaddassets()中获得不了uid这个变量。
初次学习,还往大神指点,谢谢!

<code>class AdminAction extends Action {
    static $uid_t="";

    public function addassets(){
        $uid = I('id');
        $this->uid = $uid;
        self::$uid_t = $uid;
        $this->display();
        //echo self::$uid_t;
    }

    public function actaddassets(){
        echo self::$uid_t;
        /*
        $data['uid'] = $uid;
        $data['assets_name'] = I('assets_name');

        if ($id=M('device')->add($data)) {
            $this->redirect('index');
        }else{
            echo M('device')->getLastsql();exit;
            $this->redirect('addassets');
        }
        */
    }
</code>
로그인 후 복사

做了一些尝试,定义一个static的$uid_t,然后在addassets()中不输出页面,直接echo self::$uid_t是有值的,但是紧接着在actaddassets()中再次echo self::$uid_t就没值了。。求教这是为什么。。?谢谢!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿