首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用laravel登录系统

用laravel登录系统
EN

Stack Overflow用户
提问于 2016-05-18 07:35:32
回答 1查看 46关注 0票数 1

我有一个系统登录这里,系统工作,但当我输入电子邮件数据随机进入我的系统错误(在那里必须回滚登录和显示消息)。但是,当我输入一个随机密码和真正的电子邮件,我的代码,它的工作,我的意思是我的,如果。如何修复电子邮件?

在这里,我的登录代码视图:

代码语言:javascript
复制
        @if ( Session::get('message') != '' )
        <div class='alert alert-warning'>
            {{ Session::get('message') }}
        </div>  
        @endif 

        <p class="login-box-msg">Login untuk masuk</p>
        <form action="{{ action('LoginController@postLogin') }}" method="post">
          <input type="hidden" name="_token" value="{{ csrf_token() }}" />
          <div class="form-group has-feedback">
            <input type="text" class="form-control" name='email' required placeholder="Email"/>
            <span class="glyphicon glyphicon-user form-control-feedback"></span>
          </div>
          <div class="form-group has-feedback">
            <input type="password" class="form-control" name='password' required />
            <span class="glyphicon glyphicon-lock form-control-feedback"></span>
          </div>
          <div class="row">
            <div class="col-xs-8 hide">    
              <div class="checkbox icheck">
                <label>
                  <input type="checkbox"> Remember Me
                </label>
              </div>                        
            </div><!-- /.col -->
            <div class="col-xs-4">
              <button type="submit" class="btn btn-primary btn-block btn-flat">Sign In</button>
            </div><!-- /.col -->
          </div>
        </form>

        <br/>
        <!--a href="#">I forgot my password</a-->

      </div><!-- /.login-box-body -->
    </div><!-- /.login-box -->

这是我的控制器:

代码语言:javascript
复制
public function getIndex()
    {
        if(Session::get('admin_id')!='') return redirect('/');

        $data['page_title'] = "Login Area";
        return view('login',$data);
    }

    public function postLogin() {
        $email      = Request::get('email');
        $password   = Request::get('password');

        if($email && $password) {
            $users = cms_users::whereRaw("email = '$email'")->first();
            if(!Hash::check($password,$users->password)) 
            {
                return redirect('/')->with('message', 'Gagal login email atau password salah !');
            }else{
                Session::put('admin_id',$users->id);
                Session::put('name',$users->name);
                Session::put('email',$users->email);
                Session::put('photo',$users->photo);
                Session::put('username',$users->username);
                return redirect('companies');
            }
        }else{
            return redirect('/')->with('message', 'Anda belum mengisi email dan password dengan benar !');
        }
    }
EN

回答 1

Stack Overflow用户

发布于 2016-05-18 08:07:27

$users = cms_users::whereRaw("email = '$email'")->first();替换为$users = cms_users::where("email", $email)->first();

也不检查DB中是否存在用户。

代码语言:javascript
复制
$user = cms_users::where("email", $email)->first();
if($user){
    if(!Hash::check($password,$users->password)) {
        return redirect('/')->with('message', 'Gagal login email atau password salah !');
    }
    ...
} else{
     //redirect because user with input email is empty in DB
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37293053

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档