hangyi03 发表于 2010-11-25 13:31:59

新手求救

本帖最后由 hangyi03 于 2010-11-29 11:28 编辑

为什么我直接通过127.0.0.1访问就会出现Call to a member function comp()(comp()是我在模型区定义的一个函数),但是通过控制器访问就不会出错呢,求救

jeongee 发表于 2010-11-25 14:12:06

发代码吧

hangyi03 发表于 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>

jeongee 发表于 2010-11-25 16:09:46

额,你这代码写的
你在控制器里调用那个model试试
既然用了CI就按MVC的方式写嘛,另外在load view的时候CI会使用ob_函数的,你这样写不是多余了吗?

visvoy 发表于 2010-11-27 11:57:57

在视图里面->load->model(),其返回对象不会赋值给视图的$this
视图的$this是CI_Output,而->load->model()只将对象赋值给控制器和所有已调用的model

visvoy 发表于 2010-11-27 11:59:20

你如果想在视图里面load,就要用$CI=&get_instance();$CI->load->xxx;$CI->xxx->xxxx();

zhouli520 发表于 2010-11-27 23:20:47

要在视图调用model的话,直接$this->model的名称(autoload里配置的名称)->function不就可以了麽。
   你写的不明白。。。呵呵,从接触php起就是用ci了。。所以脱离了ci估计我什么都弄不出来了。

hangyi03 发表于 2010-11-29 11:12:36

回复 4# jeongee


    谢谢 我已经解决
页: [1]
查看完整版本: 新手求救