質問編集履歴

2 追記

toll_tree

toll_tree score 35

2019/05/20 19:35  投稿

postした場合、タイムアウトとなってしまう
laravelを学習していたのですが、postした際に、ページが表示できない問題が発生しています。
以下は、ルート情報を記載した、「web.php」です
```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/other','HelloController@other');
```
以下はコントローラ部分の「HelloController.php」です
```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');
       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');
   }
   
}
```
下記はview部分である「add.blade.php」です
```php
@extends('layouts.helloapp')
@section('title','Add')
@section('menubar')
 @parent
 新規作成ページ
@endsection
@section('content')
 <table>
   <form action="/hello/add" method="post">
     {{ csrf_field() }}
     <tr><th>name:</th><td><input type="text" name="name"></td></tr>
     <tr><th>mail:</th><td><input type="text"></td></tr>
     <tr><th>age: </th><td><input type="text" name="age"></td></tr>
     <tr><th></th><td><input type="submit" value="send"></td></tr>
   </form>
 </table>
 @endsection
 @section('footer')
 copyright 2017 tuyano.
 @endsection
```
起きている問題としましては、/hello/addにgetアクセスした場合は、add.blade.phpが表示されるのですが、add.blade.phpからフォーム部分の入力値を空にしてpostした場合、「Maximum execution time of 30 seconds exceeded」となってしまい、画面が表示できません。
原因が分からない為、ご助言頂けましたら幸いです。
よろしくお願いします
よろしくお願いします
以下は、タイムアウトした際のエラーログ(Connection.php)になります。
```
       // To execute the statement, we'll simply call the callback, which will actually
       // run the SQL against the PDO connection. Then we can calculate the time it
       // took to execute and log the query SQL, bindings and time in our memory.
       try {
           $result = $callback($query, $bindings);
       }
       // If an exception occurs when attempting to run a query, we'll format the error
       // message to include the bindings with SQL, which will make this exception a
       // lot more helpful to the developer instead of just the database's errors.
       catch (Exception $e) {
           throw new QueryException(
               $query, $this->prepareBindings($bindings), $e
           );
       }
       return $result;
   }
   /**
    * Log a query in the connection's query log.
    *
    * @param string $query
    * @param array  $bindings
    * @param float|null $time
    * @return void
    */
   public function logQuery($query, $bindings, $time = null)
   {
       $this->event(new QueryExecuted($query, $bindings, $time, $this));
Arguments
"Maximum execution time of 30 seconds exceeded"
```
  • PHP

    37457 questions

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

  • Laravel

    4917 questions

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

  • Laravel 5

    3317 questions

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

1 タグ追加

toll_tree

toll_tree score 35

2019/05/19 19:28  投稿

postした場合、タイムアウトとなってしまう
laravelを学習していたのですが、postした際に、ページが表示できない問題が発生しています。
以下は、ルート情報を記載した、「web.php」です
```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/other','HelloController@other');
```
以下はコントローラ部分の「HelloController.php」です
```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');
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');
}
}
```
下記はview部分である「add.blade.php」です
```php
@extends('layouts.helloapp')
@section('title','Add')
@section('menubar')
@parent
新規作成ページ
@endsection
@section('content')
<table>
<form action="/hello/add" method="post">
{{ csrf_field() }}
<tr><th>name:</th><td><input type="text" name="name"></td></tr>
<tr><th>mail:</th><td><input type="text"></td></tr>
<tr><th>age: </th><td><input type="text" name="age"></td></tr>
<tr><th></th><td><input type="submit" value="send"></td></tr>
</form>
</table>
@endsection
@section('footer')
copyright 2017 tuyano.
@endsection
```
起きている問題としましては、/hello/addにgetアクセスした場合は、add.blade.phpが表示されるのですが、add.blade.phpからフォーム部分の入力値を空にしてpostした場合、「Maximum execution time of 30 seconds exceeded」となってしまい、画面が表示できません。
原因が分からない為、ご助言頂けましたら幸いです。
よろしくお願いします
  • PHP

    37457 questions

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

  • Laravel

    4917 questions

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

  • Laravel 5

    3317 questions

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

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る