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

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

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

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

PHP

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

Q&A

解決済

1回答

1398閲覧

管理者画面のルーティング設定がわからない

yoshioka01

総合スコア21

Laravel

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

PHP

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

0グッド

0クリップ

投稿2021/11/23 10:23

編集2021/11/25 05:04

前提

User機能を作成した後に管理者機能の作成をしました

--現在ある機能--
/login/admin ログイン機能
/register/admin 新規登録機能

参考サイト

わからないこと

ルーティングの設定を色々試してみてもエラーの表示が出てしまいます
管理者設定の場合の特別な設定があるのでしょうか?

やりたいこと

/content/admin メモの新規画面作成

以下のような画面を作成したいです
イメージ説明

コード

ルーティングの設定

web.php

1<?php 2 3Auth::routes(); 4 5Route::get('/', 'HomeController@index')->name('home'); 6Route::get('/home', 'HomeController@index')->name('home'); 7Route::get('/create', 'HomeController@create')->name('create'); 8Route::get('/memo', 'HomeController@memo')->name('memo'); 9Route::post('/store', 'HomeController@store')->name('store'); 10Route::get('/edit/{id}', 'HomeController@edit')->name('edit'); 11Route::post('/update/{id}', 'HomeController@update')->name('update'); 12Route::get('/content/{id}', 'HomeController@content')->name('content'); 13Route::post('/delete/{id}', 'HomeController@delete')->name('delete'); 14 15 16Route::get('/login/admin', 'Auth\LoginController@showAdminLoginForm'); 17Route::get('/register/admin', 'Auth\RegisterController@showAdminRegisterForm'); 18Route::post('/login/admin', 'Auth\LoginController@adminLogin'); 19Route::post('/register/admin', 'Auth\RegisterController@createAdmin'); 20 21Route::view('/home', 'home')->middleware('auth'); 22Route::view('/admin', 'admin'); 23 24// 25Route::get('/create/admin', 'AdminController@create')->name('create'); 26 27

Viewの設定 admin.blade.phpとcreate.blade.php

admin.blade.php

1@extends('layouts.auth') 2 3@section('content') 4<div class="container"> 5 <div class="row justify-content-center"> 6 <div class="col-md-8"> 7 <div class="card"> 8 <div class="card-header">Adminのページにログインしています</div> 9 10 <div class="card-body"> 11 Hi boss! 12 </div> 13 </div> 14 </div> 15 </div> 16</div> 17@endsection

createadmin.blade.php

1@extends('layouts.auth') 2 3@section('content') 4<div class="container"> 5 <div class="row justify-content-center"> 6 <div class="col-md-8"> 7 <div class="card"> 8 <p>Hello Create!!</p> 9 </div> 10 </div> 11 </div> 12</div> 13@endsection

AdminController.php

1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6 7use \App\Memo; 8use \App\User; 9 10 11class HomeController extends Controller 12{ 13 /** 14 * Create a new controller instance. 15 * 16 * @return void 17 */ 18 public function __construct() 19 { 20 $this->middleware('auth'); 21 $this->middleware('auth:admin'); 22 23 } 24 25 /** 26 * Show the application dashboard. 27 * 28 * @return \Illuminate\Contracts\Support\Renderable 29 */ 30 31 public function index(){ 32 //ここに設定する 33}

AdminController.php

php

1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6 7use \App\Memo; 8use \App\User; 9 10 11class HomeController extends Controller 12{ 13 /** 14 * Create a new controller instance. 15 * 16 * @return void 17 */ 18 public function __construct() 19 { 20 $this->middleware('auth'); 21 $this->middleware('auth:admin'); 22 23 } 24 25 /** 26 * Show the application dashboard. 27 * 28 * @return \Illuminate\Contracts\Support\Renderable 29 */ 30 31 public function create(){ 32 return view('createadmin'); 33 } 34 35}

エラーの内容

Target class [App\Http\Controllers\AdminController] does not exist.

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

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

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

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

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

AbeTakashi

2021/11/23 13:11

「エラーの表示」と言われても漠然としていて、何が起きてるか分かりません。具体的にどんなエラーなのか?とサーバ側のエラーログの情報を質問文に追記してください。LaravelやPHPなどのバージョンも合わせて追記してください。
skys215

2021/11/24 01:03

HomeController@index じゃ無いですか?
skys215

2021/11/24 12:23

App\Http\Controllers\AdminController.phpは存在しますか? laravel.logにエラーはありますか?ファイルが大きい場合、全部消してからページをリフレッシュすると、ログがまた出てきます。
yoshioka01

2021/11/24 14:44

App\Http\Controllers\AdminController.phpになっています コマンドプロンプトではこのように表示されていました [Wed Nov 24 23:40:03 2021] 127.0.0.1:62676 [200]: GET /favicon.ico [Wed Nov 24 23:40:03 2021] 127.0.0.1:62676 Closing [Wed Nov 24 23:41:02 2021] 127.0.0.1:62677 Closed without sending a request; it was probably just an unused speculative preconnection
skys215

2021/11/24 22:35

このログのフォーマットを見ると、apacheかnginxみたいです。laravelのログですか?
AbeTakashi

2021/11/25 02:23

AdminController.phpのネームスペースやクラス名は正しいですか?分からないのであればAdminController.phpのソースも追記してもらって良いでしょうか?
guest

回答1

0

ベストアンサー

AdminController.phpの

class HomeController extends Controller

の部分、クラス名が間違っていますのでTarget class [App\Http\Controllers\AdminController] does not exist.というエラーが出てるのだと思います。

class AdminController extends Controller

と書くのが正しいのでしょう。ファイル名とクラス名がしっかり合致しているか、ネームスペースは正しいか、この辺はしっかり確認した方がいいです。エラーメッセージでdoes not exist.って出たら、この辺が怪しいです。エラーメッセージの意味も含めて、エラーが出たらまずは色々と調べてみるといいと思います。

投稿2021/11/25 07:17

AbeTakashi

総合スコア4853

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

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

yoshioka01

2021/11/25 07:28

ありがとうございます 無事に解決できました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問