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

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

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

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Laravel

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

PHP

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

パラメータ

関数やプログラム実行時に与える設定値をパラメータと呼びます。

解決済

Laravel クエリ文字列でパラメータ指定してアクセスすると画面が真っ白になる

hideyov
hideyov

総合スコア0

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Laravel

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

PHP

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

パラメータ

関数やプログラム実行時に与える設定値をパラメータと呼びます。

1回答

0評価

0クリップ

21閲覧

投稿2019/06/22 10:00

Laravel初心者です。「PHPフレームワーク Laravel入門」という書籍で勉強中です。
http://homestead.test/hello は正常に表示されるのですが、個別のレコードをID番号で検索して表示するために、クエリ文字列で /hello?id=番号 とパラエータ指定してアクセスすると、画面が真っ白になります。
エラーメッセージが出ないため、原因がわかりません。さらに必要な情報があれば、御指摘ください。よろしくお願いします。

Controller

** app/Http/Controllers/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) { if (isset($request->id)) { $param = ['id' => $request->id]; $items = DB::select('select * from people where id = :id', $param); } else { $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'); } 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'); } }

ルーティング

** routes/web.php **

php

use App\Http\Middleware\HelloMiddleware; Route::get('hello', 'HelloController@index'); Route::post('hello', 'HelloController@post'); Route::get('hello/add', 'HelloController@add'); Route::post('hello/add', 'HelloController@create'); Route::get('hello/edit', 'HelloController@edit'); Route::post('hello/edit', 'HelloController@update');

View

** resources/views/hello/index.blade.php **

php

@extends('layouts.helloapp') @section('title', 'Index') @section('menubar') @parent インデックスページ @endsection @section('content') <table> <tr><th>Name</th><th>Mail</th><th>Age</th></tr> @foreach ($items as $item) <tr> <td>{{$item->name}}</td> <td>{{$item->mail}}</td> <td>{{$item->age}}</td> </tr> @endforeach </table> @endsection

環境

開発環境:Vagrant + VirtualBox / Homestead
言語:PHP 7.3.4-1+ubuntu18.04.1+deb.sury.org+3
フレームワーク:Laravel Framework 5.5.45
DB:SQLite
Mac OSX 10.11.6

良い質問の評価を上げる

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

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

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

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

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

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

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

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

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

kei344
kei344

2019/06/22 12:57

まだ質問が「受付中」になっていますが、「ベストアンサー」を選び「解決済」にされてはいかがでしょうか。

まだ回答がついていません

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

SQLite

SQLiteはリレーショナルデータベース管理システムの1つで、サーバーではなくライブラリとして使用されている。

Laravel

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

PHP

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

パラメータ

関数やプログラム実行時に与える設定値をパラメータと呼びます。