用户
 找回密码
 入住 CI 中国社区
搜索
查看: 2433|回复: 7
收起左侧

[已解决] 新手求救

[复制链接]
发表于 2010-11-25 13:31:59 | 显示全部楼层 |阅读模式
本帖最后由 hangyi03 于 2010-11-29 11:28 编辑

为什么我直接通过127.0.0.1访问就会出现Call to a member function comp()(comp()是我在模型区定义的一个函数),但是通过控制器访问就不会出错呢,求救
发表于 2010-11-25 14:12:06 | 显示全部楼层
发代码吧
 楼主| 发表于 2010-11-25 14:39:40 | 显示全部楼层
回复 2# jeongee


    <html>
<body>
<?php ob_start(); ?>
<form name="form1" method="post" action="">
<input name="Name1" type="text">
<input name="Password" type="password">
<input name = "sumbit" type="submit" onClick="">
</form>
<?php
         
  if(isset($_POST['Name1']))
           echo $_POST['Name1'];
  $this->load->model('display');
  $dt = $this->display->comp();
  foreach($dt as $row)
  {

        if(isset($_POST['Name1']))
        if($row->Name==$_POST['Name1']&&$row->Password==$_POST['Password'])
        {
                $temp = 1;
               
        }
  }
  if(isset($temp))
  {
        echo"可以登陆";
        header("location:http://192.168.1.112/index.php/database/index");
        exit();
         ob_end_flush();
       
       

  }
  else
  {
        echo "无法登陆,请重新输入";

  }       

?>
</body>
</html>
发表于 2010-11-25 16:09:46 | 显示全部楼层
额,你这代码写的
你在控制器里调用那个model试试
既然用了CI就按MVC的方式写嘛,另外在load view的时候CI会使用ob_函数的,你这样写不是多余了吗?
发表于 2010-11-27 11:57:57 | 显示全部楼层
在视图里面->load->model(),其返回对象不会赋值给视图的$this
视图的$this是CI_Output,而->load->model()只将对象赋值给控制器和所有已调用的model
发表于 2010-11-27 11:59:20 | 显示全部楼层
你如果想在视图里面load,就要用$CI=&get_instance();$CI->load->xxx;$CI->xxx->xxxx();
发表于 2010-11-27 23:20:47 | 显示全部楼层
要在视图调用model的话,直接$this->model的名称(autoload里配置的名称)->function不就可以了麽。
   你写的不明白。。。呵呵,从接触php起就是用ci了。。所以脱离了ci估计我什么都弄不出来了。
 楼主| 发表于 2010-11-29 11:12:36 | 显示全部楼层
回复 4# jeongee


    谢谢 我已经解决

本版积分规则