質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

1回答

4124閲覧

Laravelのログイン認証実装中にParse errorが発生してしまう問題

退会済みユーザー

退会済みユーザー

総合スコア0

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

1クリップ

投稿2017/08/22 04:57

現在Laravel ver.5.4でログイン機能の実装を学んでいます。

諸事情により、ログイン機能の実装方法はver.5.1を利用しています。

登録機能は無事に実装できたのですが、ログイン時・ログアウト時に以下のエラーが発生してしまい、先に進めないでいます。

Parse error: syntax error, unexpected 'class' (T_CLASS), expecting '{'
in LoginController.php (line 11)

何か文法的に間違っている点は見つからないのですが、このエラーを解決できずに困っています。

どなか原因及び解決方法がわかる方、ぜひ教えていただきたいですm(_ _)m

いかに、LoginController.phpのコードを載せさせていただきます。

php

1<?php 2 3namespace App\Http\Controllers\Auth; 4 5use App\Http\Controllers\Controller; 6use Illuminate\Http\Request; 7use Illuminate\Foundation\Auth\AuthenticatesUsers; 8 9trait AuthenticatesUsers 10 11class LoginController extends Controller 12{ 13 14 use AuthenticatesUsers; 15 16 /** 17 * Where to redirect users after login. 18 * 19 * @var string 20 */ 21 // protected $redirectTo = '/articles'; 22 protected $redirectTo = '/'; 23 /** 24 * Create a new controller instance. 25 * 26 * @return void 27 */ 28 public function __construct() { 29 $this->middleware('guest')->except('logout'); 30 } 31 protected function guard() { 32 return Auth::guard('guard-name'); 33 } 34// public function getLogin() 35// { 36// // app/resources/views/auth/authenticate.blade.phpがあるならそれを使用 37// if (view()->exists('auth.authenticate')) { 38// return view('auth.authenticate'); 39// } 40 41// // authenticate.blade.phpがないなら、login.blade.phpを使用 42// return view('auth.login'); 43// } 44 45// //ログインボタンを押したら以下を実行 46// public function postLogin(Request $request) 47// { 48// // 入力バリデーション 49// $this->validate($request, [ 50// $this->loginUsername() => 'required', 'password' => 'required', 51// ]); 52 53// $credentials = $this->getCredentials($request); 54 55// if (Auth::attempt($credentials, $request->has('remember'))) { 56// //認証成功後の処理:リダイレクトとか 57// return $this->handleUserWasAuthenticated($request); 58// } 59// //認証失敗なら、ログイン画面にエラーを表示 60// return redirect($this->loginPath()) 61// ->withInput($request->only($this->loginUsername(), 'remember')) 62// ->withErrors([ 63// $this->loginUsername() => $this->getFailedLoginMessage(), 64// ]); 65// } 66 67// // 認証成功後の処理。目的の画面にリダイレクト 68// protected function handleUserWasAuthenticated(Request $request) 69// { 70// if (method_exists($this, 'authenticated')) { 71// return $this->authenticated($request, Auth::user()); 72// } 73// return redirect()->intended($this->redirectPath()); 74// } 75// // ユーザーのクレデンシャル、つまりemailとpasswordをゲット 76// protected function getCredentials(Request $request) 77// { 78// return $request->only($this->loginUsername(), 'password'); 79// } 80// //ログアウト、つまりクッキーの削除。そしてリダイレクト。デフォルトはルートディレクトリへ 81// public function getLogout() 82// { 83// Auth::logout(); 84// return redirect(property_exists($this, 'redirectAfterLogout') ? $this->redirectAfterLogout : '/'); 85// } 86} 87

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

trait AuthenticatesUsers

ここだと思います。{}とか;とか閉じるためのコードが何も書かれていません。
用途がわからないので具体的な指摘は出来なくて申し訳ないのですが。。

投稿2017/08/22 05:01

m.ts10806

総合スコア80850

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2017/08/22 07:27

ご回答ありがとうございます。このエラーの解決後、以下のエラーが発生しました。 Method [loginUsername] does not exist. これはpublic function loginUsernameを記述せよ、という意味でしょうか?
m.ts10806

2017/08/22 07:31

どのように解決したかによりますが、大量にコメントアウトされてる中で使われているようなので、 本件発生以前にもともとあったかどうかは分かりませんが、定義が必要なメソッドと思います。
退会済みユーザー

退会済みユーザー

2017/08/22 08:52

ご回答ありがとうございます。これ以上違うバージョンでコーディングするのは厳しいと思い、verを5.4にして、再度ログイン機能を実装したと頃無事解決できました。ありがとうございますm(_ _)m今後ともよろしくお願いします。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問