设为首页
收藏本站
Archiver
用户
登录
入住
用户名
Email
自动登录
找回密码
密码
登录
入住 CI 中国社区
首页
返回 CodeIgniter 中国首页
论坛
BBS
导读
Guide
个人主页
Space
中文手册
搜索
CodeIgniter 搜索引擎
视频教程
案例
任务
搜索
搜索
本版
帖子
用户
设为首页
收藏本站
Archiver
开启辅助访问
切换到宽版
日志
相册
分享
记录
CodeIgniter4
CodeIgniter3
CodeIgniter2
帖子
好友
道具
勋章
收藏
任务
记录
留言板
设置
我的收藏
退出
腾讯QQ
微信登录
CodeIgniter 中国开发者社区
»
论坛
›
CodeIgniter 开发
›
CodeIgniter 问答求助
›
关于不同控制器载入相同视图
返回列表
查看:
2848
|
回复:
9
关于不同控制器载入相同视图
[复制链接]
乌有
乌有
当前离线
积分
256
IP卡
狗仔卡
发表于 2009-4-23 01:21:27
|
显示全部楼层
|
阅读模式
一个登录流程.大多时候用户或密码不对的时候,消息提示框都是显示在同一页面.
用CI却不知道怎么处理这种情况.
控制器login载入了登录页面.点击"登录"按钮,就提交到控制器loginIn.
loginIn载入表单验证类库,判断用户和密码框是否为空,是空的话也同样显示在登录页面,而不是载入一个新页面.但是如果在登录页面用<?php echo validation_errors(); ?>
很显然,在login控制器时没有载入过验证类库,就会提示没有定义过validation_errors()
如果是在自构函数那载入验证类库的话,那两个控制器都是定义过validation_errors()的.但是在login控制器载入视图带有$data参数.而loginin控制器则没,那又出错.
不知道这种情况如何处理.
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
yuwen002
yuwen002
当前离线
积分
172
IP卡
狗仔卡
发表于 2009-4-23 10:00:55
|
显示全部楼层
可以将出错信息,传送给data. 再把data传新的视图。
回复
支持
反对
使用道具
举报
显身卡
feishangygw
feishangygw
当前离线
积分
38
IP卡
狗仔卡
发表于 2009-4-23 10:06:29
|
显示全部楼层
你的登录 是post的吧
你可以
$data['errors'] = "校验的信息";
if(!empty($_POST['name'])&&empty($data['errors'])){
$this->load->view("登录成功页面",$data);
}else{
$this->load->view("登录页面",$data);
}
扔个砖头,赚点小玉
回复
支持
反对
使用道具
举报
显身卡
乌有
乌有
当前离线
积分
256
IP卡
狗仔卡
楼主
|
发表于 2009-4-23 14:14:26
|
显示全部楼层
登录成功页面和登录页面是同一个页面来的。
大部分视觉效果不是这样么,显示错误就显示在当前的页面,不再跳转到别的页面显示了。
回复
支持
反对
使用道具
举报
显身卡
yuwen002
yuwen002
当前离线
积分
172
IP卡
狗仔卡
发表于 2009-4-23 14:23:09
|
显示全部楼层
这个是不太可能的。用PHP写,只能提交后才能去执行这些信息。又不是ajax。
因为你的提交页是另一个页。如果在本页提交就不会有这样的问题。
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50179
IP卡
狗仔卡
发表于 2009-4-23 15:22:51
|
显示全部楼层
不刷新页面的都是 ajax。
回复
支持
反对
使用道具
举报
显身卡
乌有
乌有
当前离线
积分
256
IP卡
狗仔卡
楼主
|
发表于 2009-4-24 00:42:11
|
显示全部楼层
那看来,用JS来输出一些提示信息了.
很少有这种用户体验吧,输错了密码什么的,还弹到另一个页面显示错误信息,然后再让用户自己返回登录页面.
回复
支持
反对
使用道具
举报
显身卡
yuwen002
yuwen002
当前离线
积分
172
IP卡
狗仔卡
发表于 2009-4-24 08:47:41
|
显示全部楼层
CI.做登录和PHP没什么不用。你原来用什么方法现在就用什么方法就可以。
要不就用本页提交
回复
支持
反对
使用道具
举报
显身卡
Hex
Hex
当前离线
积分
50179
IP卡
狗仔卡
发表于 2009-4-24 10:14:55
|
显示全部楼层
用户体验问题,那就不是框架所能决定的了,那需要你设计良好的用户界面和体验。
回复
支持
反对
使用道具
举报
显身卡
moorland
moorland
当前离线
积分
67
IP卡
狗仔卡
发表于 2009-4-24 15:52:23
|
显示全部楼层
我的做法是用不同的控制器调用相同的view
如果用户填写正确,就调用下一view,如果不正确,还调用同一个view, 只不过添加了一些说明错误的信息
因为我发现 <?php echo form_error('nom');?> 这样的信息如果没有值, 也不会报错
回复
支持
反对
使用道具
举报
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
入住 CI 中国社区
本版积分规则
发表回复
回帖后跳转到最后一页