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

[已解决] 新手虚心求教学习CI

[复制链接]
发表于 2009-12-23 11:59:39 | 显示全部楼层 |阅读模式
我刚接触CI,想学习用CI做一个系统,有很多不明的地方,以后多多指教 。。。。。。

问题:

1、我设了一打开 http://localhost/ci/ 就是打开 登陆页,这个可以实现,
但 我若是 http://localhost/ci/welcome/index 这个就去了welcome 里了。。。。怎么实现输入任何东西都是打开 登陆页,用户不能在 utl里输入而达到某地址。。 也就是说 用户输入 http://localhost/ci/welcome/index 这个也是显示 登陆页。

2、config.php 里能不能自己增加一个 键值 比如说 $config['myconfig']        = "myconfig_value"; 这个是原来没有的,能不能自己随意增加

3、C不能调用C(MVC里的C),而用户要跳 到某功能 比如登陆,按一下登陆按钮,表单会把数据提交到后台,这个按钮的action怎样写?? 这个按钮的 url 应该是指一个控制器吧???也就是说用户可以直接跳到某控制器里执行。这个url怎样写。

4、C能调用V+M,V只能调用C,M能调用M。。这个说法完整?正确?

5、正常来说主页由很多个页组成,比如有 head,content,foot 这三个吧,但这三个都需要接受一个传过来的参数。那这三个怎样嵌套?在C里 load->view 三个?? 这样就可以实现三个都页都可以接受到参数。另一种方法,在content里load->view 里其它两个view。但这样,其它两个view就不能接受参数。

6、model就等于共用方法一样吧??任何C都可以调用??对不?

暂时先问这个吧,谢谢高手回答。。。。。。菜鸟虚心学习中。。。。。。。。。。。。。。。
发表于 2009-12-23 12:28:10 | 显示全部楼层
-_- 问题很多,呵呵,我一个一个解答:

1. 你要在每个控制器里都做判断,登陆了就继续,否则 redirect 到登录页。记住,每个方法都需要。
2. 尽量不要在 config.php 里增加,你可以自己在 config 目录里增加一个文件。然后用配置类装载,具体请参考手册。
3. URL 如何写参考 http://codeigniter.org.cn/user_guide/general/urls.html
4. V 不能调用 C,C 是 CI 的核心,没人可以调用他。M 调用 M 可以但需要一点技巧。
5. 楼主可能需要 HMVC,参考 http://codeigniter.org.cn/forums/thread-1319-1-1.html
6. M 是模型,模型都做什么用处可以 google 一下。
 楼主| 发表于 2009-12-23 13:04:35 | 显示全部楼层
3、这个还是不明,比如,我用户要填一个表单到登陆,填好后,怎样提交到后台?这个后台应该是一个C吧?
C是处理用户提交的数据,V不调用C,后台怎样处理用户提交的数据?

4、也是三一样的问题

6、是模型,专用来与数据库交互的(不知是否可以这样说),M提到数据记录,然后C调用M得到数据,然后作一些处理,然后提交传给V显示给用户,是不是这个说法??
发表于 2009-12-23 13:46:58 | 显示全部楼层
首先,楼主不要认为用 CI 做就和纯 PHP 有什么区别,你以前怎么做现在还怎么做。
第三条,你以前怎么做呢?你可以贴出来,看看。

第四条我说了,只有 C 调用 M 和 V,其他默认都不能互相调用,够清楚了吧?
第六条,基本上是这个意思。

最后再说一点,V 只显示数据,不处理任何数据,所有数据必须在控制器里全部准备完毕。
 楼主| 发表于 2009-12-23 13:58:55 | 显示全部楼层
那就第三条,

比如用户登陆:
<form action='checkLogin.php'>
<input type=submit />
</form>

这个是把表单提交到 checkLogin.php 里处理数据,是否合法用户密码。
关键是这个 action ,在CI里 action 我不能直接选 application/controllers/checkLogin.php 不能这样吧???要怎样呢???
 楼主| 发表于 2009-12-23 14:00:48 | 显示全部楼层
第六条我大概明白,与数据库交互的就由 model 里完成,处理等等 就由 C 来完成,V就显示 C处理完成的数据。。
这个大概明白。
 楼主| 发表于 2009-12-23 14:01:57 | 显示全部楼层
第四条,可能是我表述错了。
我说的调用,不是 直接调用,我说的意思是,V 里有一个 超连接,这个超连接是 连到 某个 控制器里的,是这样吗??
发表于 2009-12-23 14:12:35 | 显示全部楼层
第四条,如你所说的类似超链接这种东西,和 CI 就没什么关系了,他是 HTML 里的东西,也就是浏览器处理的,这个超链接链接到控制器或者其他什么URL都可以。具体链接到什么由你的项目决定。

第三条,
<form action='checkLogin.php'>
<input type=submit />
</form>
我觉得这里应该很容易变通一下吧?
<form action='http://domain/index.php/控制器/方法'>
 楼主| 发表于 2009-12-23 14:20:59 | 显示全部楼层
<form action='http://domain/index.php/控制器/方法'>
应该是这个吧,我问的超连接,就是这个东西。。呵呵。。。。谢谢了。。
发表于 2009-12-31 16:00:50 | 显示全部楼层
<form action="<?=site_url('控制器/方法')?>" method="post">

本版积分规则