【问题标题】:Syntax error: unexpected ;语法错误:意外;
【发布时间】:2018-08-03 04:29:21
【问题描述】:

我正在使用 if 语句运行以下代码。到目前为止,我的语法看起来是正确的,但我收到一条错误消息

Parse error: syntax error, unexpected ';'
at $request->session()->put('success');

看起来不错。有人可以告诉我我错在哪里。 我的代码如下:

<?php

if (Hash::check($password, $hashedPassword->password)) {
    $role_type = DB::select('select role_type from users where email = ?', [$email]);
    if ($role_type === 'Administrator') {
        $request->session()->put('success');
        return redirect()->route('admin');
    } else if ($role_type == - 'Staff') {
        $request->session()->put('success');
        return redirect()->route('staff');
    } else ($role_type === 'User') {
        $request->session()->put('success');
        return redirect()->route('user');
    };
} else {
    return redirect()->route('login')->with('login_error', 'Invalid credentials entered');
};

【问题讨论】:

  • else if ($role_type ==- 'Staff') { 你得到了“-”
  • 我看到了那个错误并纠正了它,但仍然给我同样的语法错误@Kasnady
  • @jptl431 检查这个答案:stackoverflow.com/a/48942407/7117697

标签: php laravel


【解决方案1】:

您在} else ($role_type === 'User') { 行中缺少if,它应该是} else if($role_type === 'User') {

if (Hash::check($password, $hashedPassword->password)) {
    $role_type = DB::select('select role_type from users where 
            email = ?', [$email]);
    if ($role_type === 'Administrator') {
        $request->session()->put('success');
        return redirect()->route('admin');
    } else if ($role_type == - 'Staff') {
        $request->session()->put('success');
        return redirect()->route('staff');
    } else if($role_type === 'User') {
        $request->session()->put('success');
        return redirect()->route('user');
    }
} else {
    return redirect()->route('login')->with('login_error', 'Invalid 
            credentials entered');
}

【讨论】:

  • 谢谢老兄!工作完美!但是在所有的“其他如果”之后不应该有一个结局吗
猜你喜欢
  • 1970-01-01
  • 2011-10-28
  • 2014-12-18
  • 2011-05-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多