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

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

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

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

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

Blade

Bladeとは、 PHPフレームワークのLaravelで使用することができるテンプレートエンジンです。テンプレートの継承とエスケープ機能を提供します。

Q&A

解決済

1回答

3727閲覧

syntax error, unexpected end of file, expecting "elseif" or "else" or "endif" のエラーを解決したい

HK1

総合スコア28

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

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

Blade

Bladeとは、 PHPフレームワークのLaravelで使用することができるテンプレートエンジンです。テンプレートの継承とエスケープ機能を提供します。

0グッド

1クリップ

投稿2022/07/28 12:17

編集2022/07/28 12:21

ユーザー新規登録画面を作成し、登録完了後は記事一覧画面へ遷移するところでタイトルのエラーが発生しました。

今回、記事一覧画面には、ドロップダウンメニューを作るべく、nav.blade.phpをインクルードして使っていて、どうやらそのnav.blade.phpが問題となっているようです…

エラー内容には、else ifやelseを期待しているという内容が書かれているように見えますが、navブレードの中ではif文を使っていないため、少し理解できないです。

該当のソースコード

nav.blade.php

1<nav class="navbar navbar-expand navbar-dark blue-gradient"> 2 3 <a class="navbar-brand" href="/"><i class="far fa-sticky-note mr-1"></i>memo</a> 4 5 <ul class="navbar-nav ml-auto"> 6 7 @guest <!-- @guestは認証ディレクティブ(まだ認証されてないユーザにのみ表示)--> 8 <li class="nav-item"> 9 <a class="nav-link" href=""><i class="fas fa-pen mr-1"></i>投稿する</a> 10 </li> 11 @endguest 12 13 @guest 14 <li class="nav-item"> 15 <a class="nav-link" href="">ログイン</a> 16 </li> 17 @endguest 18 19 @auth 20 <li class="nav-item"> 21 <a class="nav-link" href=""><i class="fas fa-pen mr-1"></i>投稿する</a> 22 </li> 23 @endauth 24 25 @auth 26 <!-- Dropdown --> 27 <li class="nav-item dropdown"> 28 <a class="nav-link dropdown-toggle" id="navbarDropdownMenuLink" data-toggle="dropdown" 29 aria-haspopup="true" aria-expanded="false"> 30 <i class="fas fa-user-circle"></i> 31 </a> 32 <div class="dropdown-menu dropdown-menu-right dropdown-primary" aria-labelledby="navbarDropdownMenuLink"> 33 <button class="dropdown-item" type="button" 34 onclick="location.href=''"> 35 マイページ 36 </button> 37 <div class="dropdown-divider"></div> 38 <button form="logout-button" class="dropdown-item" type="submit"> 39 ログアウト 40 </button> 41 </div> 42 </li> 43 <form id="logout-button" method="POST" action="{{ route('logout') }}"> 44 @csrf 45 </form> 46 <!-- Dropdown --> 47 @endauth 48 49 </ul> 50 51</nav>

関連するソースコード(新規登録画面)

register.blade.php

1@extends('app') 2 3@section('title', 'ユーザー登録') 4 5@section('content') 6 <div class="container"> 7 <div class="row"> 8 <div class="mx-auto col col-12 col-sm-11 col-md-9 col-lg-7 col-xl-6"> 9 <h1 class="text-center"><a class="text-dark" href="/">memo</a></h1> 10 <div class="card mt-3"> 11 <div class="card-body text-center"> 12 <h2 class="h3 card-title text-center mt-2">ユーザー登録</h2> 13 14 <div class="card-text"> 15 <form method="POST" action="{{ route('register') }}"> 16 @csrf 17 <div class="md-form"> 18 <label for="name">ユーザー名</label> 19 <input class="form-control" type="text" id="name" name="name" required value="{{ old('name') }}"> 20 <small>英数字3〜16文字(登録後の変更はできません)</small> 21 </div> 22 <div class="md-form"> 23 <label for="email">メールアドレス</label> 24 <input class="form-control" type="text" id="email" name="email" required value="{{ old('email') }}" > 25 </div> 26 <div class="md-form"> 27 <label for="password">パスワード</label> 28 <input class="form-control" type="password" id="password" name="password" required> 29 </div> 30 <div class="md-form"> 31 <label for="password_confirmation">パスワード(確認)</label> 32 <input class="form-control" type="password" id="password_confirmation" name="password_confirmation" required> 33 </div> 34 <button class="btn btn-block blue-gradient mt-2 mb-2" type="submit">ユーザー登録</button> 35 </form> 36 37 <div class="mt-0"> 38 <a href="{{ route('login') }}" class="card-text">ログインはこちら</a> 39 </div> 40 41 </div> 42 </div> 43 </div> 44 </div> 45 </div> 46 </div> 47@endsection

関連するソースコード(記事一覧画面)※新規登録画面から、登録を押した時に遷移

index.blade.php

1@extends('app') 2 3@section('title', '記事一覧') 4 5@section('content') 6 @include('nav') 7 <div class="container"> 8 @foreach($articles as $article) 9 <div class="card mt-3"> 10 <div class="card-body d-flex flex-row"> 11 <i class="fas fa-user-circle fa-3x mr-1"></i> 12 <div> 13 <div class="font-weight-bold"> 14 {{ $article->user->name }} 15 </div> 16 <div class="font-weight-lighter"> 17 {{ $article->created_at->format('Y/m/d H:i') }} 18 </div> 19 </div> 20 </div> 21 <div class="card-body pt-0 pb-2"> 22 <h3 class="h4 card-title"> 23 {{ $article->title }} 24 </h3> 25 <div class="card-text"> 26 {!! nl2br(e( $article->body )) !!} 27 </div> 28 </div> 29 </div> 30 @endforeach 31 </div> 32@endsection

発生している問題・エラーメッセージ

イメージ説明

イメージ説明

補足情報(FW/ツールのバージョンなど)

・Laravel:9.2.0

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

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

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

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

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

guest

回答1

0

ベストアンサー

php

1 @guest <!-- @guestは認証ディレクティブ(まだ認証されてないユーザにのみ表示)--> 2 <li class="nav-item"> 3 <a class="nav-link" href=""><i class="fas fa-pen mr-1"></i>投稿する</a> 4 </li> 5 @endguest

<!-- @guestは認証ディレクティブ(まだ認証されてないユーザにのみ表示)--> このコメントの「@guest」が blade のディレクティブの開始と認識されているのでしょうね。多分。
Bladeのコメントで書くのがいいんんじゃない?

{-- @guestは認証ディレクティブ(まだ認証されてないユーザにのみ表示)--}}

投稿2022/07/30 11:51

phper.k

総合スコア3923

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

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

HK1

2022/07/31 09:59

HTMLのコメントアウトは、ブレードファイルでは使えないのですね。 ブレードファイル専用のコメントアウトがあることを初めて知りました! ご回答ありがとうございました。https://buralog.jp/laravel-blade-template-file-comments/
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.47%

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

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

質問する

関連した質問