V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
XianZaiZhuCe
V2EX  ›  PHP

CI 框架相关问题

  •  
  •   XianZaiZhuCe · 2015-11-19 13:54:25 +08:00 · 1417 次点击
    这是一个创建于 3087 天前的主题,其中的信息可能已经有所发展或是发生改变。
    比如现在有一个 login 方法,是用来输出 login 视图

    public function login()
    {
    $this->load->view('login');
    }

    此时的登陆页面是 index/login 。
    然后提交表单数据到 login_check()方法

    public function login_check()
    {
    $this->form_validation->set_rules('email', 'email', 'trim|required|valid_email');
    $this->form_validation->set_rules('password', 'password', 'trim|required');
    if ($this->form_validation->run() === true) {
    //.....
    }else{
    $this->load->view('login');
    }
    }

    $this->form_validation->run()表单校验失败,再次输出 login 视图,同时显示提示错误。
    那么此时登陆页面地址 index/login_check 。
    这个感觉太不好了,不希望链接地址变化。除了将 login()和 login_check()合并处理可以实现之外,还有什么更好的办法吗?

    请多指教,谢谢大家。
    3 条回复    2015-12-05 21:49:13 +08:00
    realpg
        1
    realpg  
       2015-11-20 15:16:21 +08:00
    这个无所谓 CI 吧

    直接把 login_check 合并到 login 里面 判断 post 过来值

    所有 PHP 原生不都是这么处理的么
    XianZaiZhuCe
        2
    XianZaiZhuCe  
    OP
       2015-11-20 16:19:55 +08:00 via Android
    @realpg 嗯 只是看着链接变化有强迫症。开始是都在 login 里面处理,后来拆开了
    chaegumi
        3
    chaegumi  
       2015-12-05 21:49:13 +08:00   ❤️ 1
    $this->session->set_flashdata(

    任何直接 redirect 登录页面,就可以输出$this->session->flashdata 了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2031 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 01:19 · PVG 09:19 · LAX 18:19 · JFK 21:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.