语法错误:意外;

Posted

技术标签:

【中文标题】语法错误:意外;【英文标题】: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 检查这个答案:***.com/a/48942407/7117697 【参考方案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');

【讨论】:

谢谢老兄!工作完美!但是在所有的“其他如果”之后不应该有一个结局吗

以上是关于语法错误:意外;的主要内容,如果未能解决你的问题,请参考以下文章

解析错误:意外的令牌,预期的“,”和语法错误:意外的令牌'['[重复]

解析错误:语法错误,意外'[',期待')' [重复]

语法错误意外'<' [重复]

意外的令牌 语法错误

语法错误,意外 ')',期待 '='

语法错误:意外;