//个人档案
public function geren(){
    if(!isset($_SESSION[C("USER_AUTH_KEY")])){
     $msg="请登录";
    }else{
     $msg=$_SESSION[C("USER_AUTH_KEY")];
    }
    $this->assign('msg',$msg);
//==================获取登录信息============================
$gr=M("admin");
$baide=$gr->select();
$this->assign("baide",$baide);
$this->assign("title",'极限互动办公自动化系统');
$this->display();
}
public function upgr(){//修改edit 内容
 header("Content-Type:text/html; charset=utf-8");
     $Form = M("admin");
 $data['id'] = $_GET['id'];
 $data['name'] = $_GET['name'];
 $data['password'] = $_GET['password'];
 $data['sex'] = $_GET['sex'];
 $data['bumen'] = $_GET['bumen'];
 $data['TEL'] = $_GET['TEL'];
 $data['QQ'] = $_GET['QQ'];
 $data['email'] = $_GET['email'];
 $data['dizhi'] = $_GET['dizhi'];
 $data['img'] = $_GET['img'];
 if($data){
 $upgr=$Form->where('id='.$data['id'])->save($data);
 if($upgr){
echo "<script type='text/javascript'>alert('更新成功');window.navigate('geren');</script>";
}else{
echo "<script type='text/javascript'>alert('更新失败');window.navigate('geren');</script>";
}
}
}获取HTML 信息<volist name="baide" id="baide">
  <tr>
    <td>{$baide.name}</td>
    <td>{$baide.sex}</td>
    <td>{$baide.TEL}</td>
    <td>{$baide.QQ}</td>
    <td>{$baide.email}</td>
    <td>{$baide.dizhi}</td>
    <td><img src="../../{$baide.img}" width="25" height="30"/></td>
    <td>
      <a href="__URL__/upgr/id/{$baide.id}">编辑档案</a>
    </td>
    </tr>
</volist>我要更新的内容<volist name="baide" id="baide">
<form action="__URL__/upgr" method="get" name="geren">
<table width="200" border="1">
  <tr>
    <td width="44">姓名</td>
    <td width="140"><input type="text" name="name" value="{$baide.name}" /></td>
  </tr>
  <tr>
    <td width="44">密码</td>
    <td width="140"><input type="text" name="password" value="{$baide.password}" /></td>
  </tr>
  <tr>
    <td>性别</td>
    <td><input type="text" name="sex" value="{$baide.sex}" /></td>
  </tr>
  <tr>
    <td>公司职位</td>
    <td><input type="text" name="weizhi" value="{$baide.weizhi}" /></td>
  </tr>
  <tr>
    <td>公司部门</td>
    <td><input type="text" name="bumen" title="{$baide.bumen}" value="{$baide.bumen}" /></td>
  </tr>
  <tr>
    <td>TEL</td>
    <td><input type="text" name="TEL" value="{$baide.TEL}" /></td>
  </tr>
  <tr>
    <td>QQ</td>
    <td><input type="text" name="QQ" value="{$baide.QQ}" /></td>
  </tr>
  <tr>
    <td>Email</td>
    <td><input type="text" name="email" value="{$baide.email}" /></td>
  </tr>
  <tr>
    <td>住址</td>
    <td><input type="text" name="dizhi" value="{$baide.dizhi}" /></td>
  </tr>
  <tr>
    <td>头像</td>
    <td><input type="text" name="img" value="{$baide.img}" /></td>
  </tr>
  <tr>
    <td><input type="submit" name="保  存" value="保  存" /></td>
    <td><input type="reset"  name="清  空" value="清  空" /></td>
  </tr>
</table>
</form>
</volist>当我点击<a href="__URL__/upgr/id/{$baide.id}">编辑档案</a>的时候执行到了
if($upgr){
echo "<script type='text/javascript'>alert('更新成功');window.navigate('geren');</script>";
}else{
echo "<script type='text/javascript'>alert('更新失败');window.navigate('geren');</script>";
}
数据也被清空 求指点

解决方案 »

  1.   

    <a href="__URL__/upgr/id/{$baide.id}">
    触发编辑界面是通过传入 id<form action="__URL__/upgr" method="get" 
    这个表单里没有 id (不过没有id如何进行 update 呢)function upgr()
    应根据 是否传入了 id 来分别处理
    一个方法要执行不同的两种操作(读、写)是很不好的
      

  2.   

    看了一下你更新的代码,你最好用var_dump($_GET),看看你的GET方法都提交了什么数据,我只看到你提交了ID,你也可以在调用save方法前,看看你的$data,这个应该是空的,那么你执行save方法,很显然就是清空数据了。
      

  3.   

    帮你简单改一下吧
    首页是列表页面,我通常会命名为listXXX
    因此,先在action中编写listXXX的方法,其主要作用是获取数据,并设置到页面,通常是这样的   public function listXXX(){
            $dao=M("admin");
            $baide=$dao->select();
            $this->assign("baide",$baide);
            $this->assign("title",'极限互动办公自动化系统');
            $this->display();
       }同时编写tpl目录下的页面,listXXX.html,核心代码如下:<volist name="baide" id="baide">
      <tr>
        <td>{$baide.name}</td>
        <td>{$baide.sex}</td>
        <td>{$baide.TEL}</td>
        <td>{$baide.QQ}</td>
        <td>{$baide.email}</td>
        <td>{$baide.dizhi}</td>
        <td><img src="../../{$baide.img}" width="25" height="30"/></td>
        <td>
                <a href="__URL__/upgr/id/{$baide.id}">编辑档案</a>
        </td>
        </tr>
    </volist>
    注意这里的编辑档案,你只是把id作用参数带过去,因此要在action中,利用id把详细内容检索出来,并设置到页面.
    在action中编写upgr方法(这里要与你<a>标签中指定的名称一致),其实我建议改个方法名如:updateXXX
      public function upgr(){
         $dao = M("admin");
         $id = $_GET['id'];
         $details=$dao->where("id=$id")->select();
         $this->assign("baide",$details);
         $this->display();
      }编写upgr.html,核心代码如下:<volist name="baide" id="baide">
    <form action="__URL__/doUpgr/id/{$baide.id}" method="get" name="geren">
    <table width="200" border="1">
      <tr>
        <td width="44">姓名</td>
        <td width="140"><input type="text" name="name" value="{$baide.name}" /></td>
      </tr>
      <tr>
        <td width="44">密码</td>
        <td width="140"><input type="text" name="password" value="{$baide.password}" /></td>
      </tr>
      <tr>
        <td>性别</td>
        <td><input type="text" name="sex" value="{$baide.sex}" /></td>
      </tr>
      <tr>
        <td>公司职位</td>
        <td><input type="text" name="weizhi" value="{$baide.weizhi}" /></td>
      </tr>
      <tr>
        <td>公司部门</td>
        <td><input type="text" name="bumen" title="{$baide.bumen}" value="{$baide.bumen}" /></td>
      </tr>
      <tr>
        <td>TEL</td>
        <td><input type="text" name="TEL" value="{$baide.TEL}" /></td>
      </tr>
      <tr>
        <td>QQ</td>
        <td><input type="text" name="QQ" value="{$baide.QQ}" /></td>
      </tr>
      <tr>
        <td>Email</td>
        <td><input type="text" name="email" value="{$baide.email}" /></td>
      </tr>
      <tr>
        <td>住址</td>
        <td><input type="text" name="dizhi" value="{$baide.dizhi}" /></td>
      </tr>
      <tr>
        <td>头像</td>
        <td><input type="text" name="img" value="{$baide.img}" /></td>
      </tr>
      <tr>
        <td><input type="submit" name="保  存" value="保  存" /></td>
        <td><input type="reset"  name="清  空" value="清  空" /></td>
      </tr>
    </table>
    </form>
    </volist>请注意红色标注部分,然后在action中编写doUpgr方法  public function doUpgr(){
         $dao = M("admin");
         $id = $_GET['id'];
         $dao->create();//这个方法没用过的话,强烈建议用用,超好用的
         $dao["id"]=$id;//确保设置主键
         if($dao->save()){
            $this->assign("jumpUrl","listXXX");//设置跳转地址到列表页面
            $this->success("修改成功!");
         }else{
            $this->assign("jumpUrl","upgr");//设置跳转地址到修改页面
            $this->assign("baide",$dao);
            $this->error("修改失败");
         }
      }
    大概就是这样了,仅供参考!
      

  4.   

    很感谢你的帮助 
      但是有错误耶
     $dao["id"]=$id;//确保设置主键 358行Fatal error: Cannot use object of type Model as array in F:\wamp\www\oa\OA\Lib\Action\ContentAction.class.php on line 358
      

  5.   

    很感谢你的帮助  
      但是有错误耶
     $dao["id"]=$id;//确保设置主键 358行Fatal error: Cannot use object of type Model as array in F:\wamp\www\oa\OA\Lib\Action\ContentAction.class.php on line 358