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

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

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

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

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

1回答

1717閲覧

JSデータがしっかりと保存できるにしたいです

tatsuma.s

総合スコア0

Laravel

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

PHP

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

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2020/09/13 08:04

前提・実現したいこと

laravelとJavaScriptsでTodoリストの管理システムを作っています。
Todolistの部分を保存更新出来るようにしたいと考えています。
TodolistはJavaScritsのみのため、保存できるようにテーブルを作成しました。
その後保存するための記述をコントローラーに記述した際に以下のエラーメッセージが発生しました。

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

Failed to load resource: the server responded with a status of 500 (Internal Server Error)

該当のソースコード

Migration

1<?php 2 3use Illuminate\Database\Migrations\Migration; 4use Illuminate\Database\Schema\Blueprint; 5use Illuminate\Support\Facades\Schema; 6 7class Todolist extends Migration 8{ 9 /** 10 * Run the migrations. 11 * 12 * @return void 13 */ 14 public function up() 15 { 16 Schema::create('todolists', function (Blueprint $table) { 17 $table->integer('id')->autoIncrement(); 18 $table->integer('user_id'); 19 $table->string('content'); 20 $table->timestamps(); 21 }); 22 // 23 } 24 25 /** 26 * Reverse the migrations. 27 * 28 * @return void 29 */ 30 public function down() 31 { 32 // 33 } 34} 35 36

Model

1<?php 2 3namespace App; 4 5use Illuminate\Database\Eloquent\Model; 6use Illuminate\Database\Eloquent\Relations\BelongsTo; 7 8class Todolist extends Model 9{ 10 public function user(): BelongsTo 11 { 12 return $this->belongsTo('App\User'); 13 } 14 // 15} 16

Controller

1<?php 2 3namespace App\Http\Controllers; 4 5use Illuminate\Http\Request; 6use App\Todolist; 7 8class TodoController extends Controller 9{ 10 public function index() 11 { 12 $todolist = Todolist::orderBy('id', 'content')->get(); 13 14 return view('todolist.index',[ 15 'todolists' => $todolist 16 ]); 17 } 18 19 public function register(Request $request){ 20 $todolist = new Todolist; 21 $todolist->todolist = $request->todolist; 22 $todolist->save(); 23 return redirect('/'); 24 } 25} 26

Routes

1<?php 2 3use Illuminate\Support\Facades\Route; 4 5 6Auth::routes(); 7 8Route::get('/home', 'HomeController@index')->name('home'); 9 10Route::group(['middleware' => ['auth']], function(){ 11Route::get('/','Todocontroller@index'); 12Route::post('/register', 'Todocontroller@@register'); 13Route::get('/holiday','CalendarController@getHoliday'); 14Route::post('/holiday','CalendarController@postHoliday'); 15Route::get('/show','CalendarController@show'); 16Route::get('/holiday/{id}','CalendarController@getHolidayId'); 17Route::delete('/holiday','CalendarController@deleteHoliday'); 18 19}); 20 21

view

1<!DOCTYPE html> 2<html lang="ja"> 3 <head> 4 <meta charset="UTF-8" /> 5 <meta name="viewport" content="width=device-width, initial-scale=1" /> 6 7 <title>kanrin</title> 8 <link rel="stylesheet" href="../css/jkanban.min.css" /> 9 <link 10 href="https://fonts.googleapis.com/css?family=Lato" 11 rel="stylesheet" 12 /> 13 14 <style> 15 body { 16 font-family: "Lato"; 17 margin: 0; 18 padding: 0; 19 } 20 21 #myKanban { 22 overflow-x: auto; 23 padding: 20px 0; 24 } 25 26 .success { 27 background: #00b961; 28 } 29 30 .info { 31 background: #2a92bf; 32 } 33 34 .warning { 35 background: #f4ce46; 36 } 37 38 .error { 39 background: #fb7d44; 40 } 41 </style> 42 </head> 43 <body> 44 @extends('layout') 45<div id="app"> 46 <nav class="navbar navbar-expand-md navbar-light bg-white shadow-sm"> 47 <div class="container"> 48 <a class="navbar-brand" href="{{ url('/') }}"> 49 {{ config('app.name', 'Laravel') }} 50 </a> 51 <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="{{ __('Toggle navigation') }}"> 52 <span class="navbar-toggler-icon"></span> 53 </button> 54 55 <div class="collapse navbar-collapse" id="navbarSupportedContent"> 56 <!-- Left Side Of Navbar --> 57 <ul class="navbar-nav mr-auto"> 58 59 </ul> 60 61 <!-- Right Side Of Navbar --> 62 <ul class="navbar-nav ml-auto"> 63 <!-- Authentication Links --> 64 @guest 65 <li class="nav-item"> 66 <a class="nav-link" href="{{ route('login') }}">{{ __('Login') }}</a> 67 </li> 68 @if (Route::has('register')) 69 <li class="nav-item"> 70 <a class="nav-link" href="{{ route('register') }}">{{ __('Register') }}</a> 71 </li> 72 @endif 73 @else 74 <li class="nav-item dropdown"> 75 <a id="navbarDropdown" class="nav-link dropdown-toggle" href="#" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false" v-pre> 76 {{ Auth::user()->name }} 77 </a> 78 79 <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown"> 80 <a class="dropdown-item" href="{{ route('logout') }}" 81 onclick="event.preventDefault(); 82 document.getElementById('logout-form').submit();"> 83 {{ __('Logout') }} 84 </a> 85 86 <form id="logout-form" action="{{ route('logout') }}" method="POST" class="d-none"> 87 @csrf 88 </form> 89 </div> 90 </li> 91 @endguest 92 </ul> 93 </div> 94 </div> 95 </nav> 96 97 <main class="py-4"> 98 @yield('content') 99 </main> 100 </div> 101 <div id="myKanban"></div> 102 <!-- 導入予定機能 --> 103 <!-- <button id="addDefault">Add "Default" board</button> 104 <br /> 105 <button id="addToDo">Add element in "To Do" Board</button> 106 <br /> 107 <button id="removeElement">Remove "My Task Test"</button> --> 108 <script src="../js/jkanban.js"></script> 109 <script> 110 var KanbanTest = new jKanban({ 111 element: "#myKanban", 112 gutter: "10px", 113 widthBoard: "450px", 114 itemHandleOptions:{ 115 enabled: true, 116 }, 117 118 click: function(el) { 119 120 }, 121 dropEl: function(el, target, source, sibling){ 122 123 }, 124 buttonClick: function(el, boardId) { 125 126 // create a form to enter element 127 var formItem = document.createElement("form"); 128 formItem.setAttribute("class", "itemform"); 129 formItem.innerHTML = 130 '<div class="form-group"><textarea class="form-control" rows="2" autofocus></textarea></div><div class="form-group"><button type="submit" class="btn btn-primary btn-xs pull-right">作成</button><button type="button" id="CancelBtn" class="btn btn-danger btn-xs pull-right">取消</button></div>'; 131 132 KanbanTest.addForm(boardId, formItem); 133 formItem.addEventListener("submit", function(e) { 134 e.preventDefault(); 135 var text = e.target[0].value; 136 KanbanTest.addElement(boardId, { 137 title: text 138 }); 139 formItem.parentNode.removeChild(formItem); 140 }); 141 document.getElementById("CancelBtn").onclick = function() { 142 formItem.parentNode.removeChild(formItem); 143 }; 144 }, 145 addItemButton: true, 146 boards: [ 147 { 148 id: "_todo", 149 title: "To Do", 150 class: "info,good", 151 dragTo: ["_working"], 152 item: [ 153 154 ] 155 }, 156 { 157 id: "_working", 158 title: "Working ", 159 class: "warning", 160 item: [ 161 162 ] 163 }, 164 { 165 id: "_done", 166 title: "Done ", 167 class: "success", 168 dragTo: ["_working"], 169 item: [ 170 171 ] 172 } 173 ] 174 }); 175 var removeBoard = document.getElementById("removeBoard"); 176 removeBoard.addEventListener("click", function() { 177 this.remove(); 178 },false); 179 180 </script> 181 <a href="{{ url('/holiday') }}" class="todo-btn">予定入力画面へ</a> 182 183 </body> 184</html> 185

試したこと

https://cbc-study.com/training/performance/laravel4
のサイトを参考にしながら作成を行った

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

Laravel Framework 7.27.0
DB Mysql
オープンソース MAMP

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

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

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

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

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

guest

回答1

0

Internal Server Error HTTP500 解決方法
HTTPErrorが500の時のPHPでのデバッグ方法になります。

投稿2020/09/16 12:59

kuma_kuma_

総合スコア2506

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

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

tatsuma.s

2020/09/17 01:25

そもそもデータを送ることが出来ていませんでいたのでそこから修正しました。 ご回答ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問