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

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

ただいまの
回答率

88.79%

Cannot end a section without first starting one. (View: が発生してしまっています

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 1,866

toll_tree

score 35

前提・実現したいこと

URLアドレス部分に、「http://localhost/laravelapp/public/hello/edit?id=1」と打ち込み、アクセスを試みると、以下のエラーが発生してしまっている状況です。
イメージ説明

該当のソースコード

以下は、コントローラ部分であるHelloController.phpです

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use Illuminate\Http\Response;
use App\Http\Requests\HelloRequest;
use Validator;
use Illuminate\Support\Facades\DB;


class HelloController extends Controller{

    public function index(Request $request)
    {


        $items = DB::select('select * from people');
        return view('hello.index',['items' => $items]);

    }

    public function post(Request $request)

    {
        $items = DB::select('select * from people');
        dd('ng');
        return view('hello.index',['items' => $items]);


    }
    public function add(Request $request)
    {
        return view('hello.add');
    }

    public function create(Request $request)
    {

        $param = [
            'name' => $request->name,
            'mail' => $request->mail,
            'age' => $request->age,
        ];

        DB::insert('insert into people (name, mail, age) values 
        (:name, :mail,:age)',$param);

        return redirect('/hello');
    }

    public function edit(Request $request)
    {
        $param = ['id' => $request->id];
        $item = DB::select('select * from people where id = :id',$param);
        return view ('hello.edit',['form' => $item[0]]);
    }

    public function update(Request $request)

    {
        $param = [
            'id' => $request->id,
            'name' => $request->name,
            'mail' => $request->mail,
            'age' => $request->age,
        ];

        DB::update('update people set name = :name,mail = :mail,
            age = :age where id = :id',$param);
            return redirect('/hello');
    }

}


以下は、ルーティング部分のweb.phpです

<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/


// Route::post('hello','HelloContoroller@post');

//use App\Http\Middleware\HelloMiddleware;

Route::get('hello/add','HelloController@add');
Route::post('hello/add','HelloController@create');

Route::get('hello','HelloController@index');

Route::get('hello/edit','HelloController@edit');
Route::post('hello/edit','HelloController@update');


以下は、ビュー部分のedit.blade.phpです

@extends('Layouts.helloapp')

@section('title','Edit')

@section('menubar')
  @parent
  更新ページ

@endsection

@section('content')

<table>

  <form action="/hello/edit" method="post">
    {{ csrf_field() }}
    <input type="hidden" name="id" value="{{$form->id}}">
    <tr><th>name: </th><td><input type="text" name="name"
       value="{{$form->name}}"></td></tr>
    <tr><th>mail:</th><td><input type="text" name="mail"
      value="{{$form->mail}}"></td></tr>
    <tr><th>age:</th><td><input type="text" name="age"
      value="{{$form->age}}"></td></tr>
    <tr><th></th><td><input type="submit"
      value="send"></td></tr>


  </form>
</table>
@endsection('footer')
copyright 2017 tuyano.
@endsection

試したこと

エラー内容を検索

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

laraveのバージョンは5.8です。

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 過去に投稿した質問と同じ内容の質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • m.ts10806

    2019/05/20 23:44

    基幹であるDocumentRoot問題が解決してないのにやろうとするからです。
    未解決問題増やして何がしたいのでしょうか・・

    キャンセル

  • toll_tree

    2019/05/20 23:46

    未解決問題を増やそうとする意図はありませんでした。
    >基幹であるDocumentRoot問題が解決してないのにやろうとするからです。
    そこを最初に解決するべきでしたね

    キャンセル

  • m.ts10806

    2019/05/20 23:49

    >そこを最初に解決するべきでしたね
    だいぶ前に言ってますがどういうつもりだったんでしょうか。

    キャンセル

回答 1

checkベストアンサー

0

Bladeのsectionディレクティブは、@sectionと@encsectionで囲むのが正しいです。

Laravel 5.8 Bladeテンプレート

@section
〜記述
@endosection


以下の箇所で、@endsection('footer')というのがエラーの原因かと思いますので、@sectionに直して確認してみてください。

@endsection('footer')
copyright 2017 tuyano.
@endsection

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/05/21 10:37

    ご回答ありがとうございます。
    基本的な文法ミスでしたね...
    実は、ドキュメントルートの設定でつまってしまっていて、アクセスができていないので、そちらをなんとかして、edit.blade.phpにアクセスを試みたいと思います。。。

    キャンセル

  • 2019/05/24 11:52

    その後の状況はどうでしょうか?
    問題解決した場合は、他の未解決の回答とともに解決済みにしてください。
    別の問題が発生した場合は、新規で質問をしてください。

    キャンセル

  • 2019/05/24 13:10

    お久しぶりです。
    実は、回答を頂いた際は、解決していなかったと思ったのですが、今試してみましたら、エラーが消えておりました。
    取り敢えず,aro10さんの回答をベストアンサーとさせて頂きます

    キャンセル

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

  • ただいまの回答率 88.79%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる

関連した質問

同じタグがついた質問を見る