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

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

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

Laravel 6は、オープンソースなPHPのフレームワーク。Webアプリケーションの開発に適しており、バージョン6はLTSです。5.8での向上に加えて、セマンティックバージョニングの採用やLaravel Vaporとのコンパチビリティなどが変更されています。

PHP

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

検索

検索は、あるデータの集まりの中から 目的のデータを見つけ出すことです。

解決済

検索機能の実装でエラーが発生!

fhattori121101
fhattori121101

総合スコア1

Laravel 6

Laravel 6は、オープンソースなPHPのフレームワーク。Webアプリケーションの開発に適しており、バージョン6はLTSです。5.8での向上に加えて、セマンティックバージョニングの採用やLaravel Vaporとのコンパチビリティなどが変更されています。

PHP

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

検索

検索は、あるデータの集まりの中から 目的のデータを見つけ出すことです。

1回答

-2評価

0クリップ

264閲覧

投稿2022/04/10 04:26

編集2022/04/12 14:42

前提

プログラミング初心者です!
Laravelを用いてWebアプリケーションの開発をしていました。

検索機能を実装したいのですが、「性別」のラジオボタンに何も入力せずに検索するとエラーが起きてしまいます。

改善案として
①ラジオボタンに初期値を持たせる
②性別が入力されていないときにエラー文を出力する
という2つの方法を使おうとアプローチしたのですが、自力では解決できませんでした。

実現したいこと

①ラジオボタンに初期値を持たせる
②性別が入力されていないときにエラー文を出力する
のどちらかでいいので実装して、エラーを取り除きたいです!

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

Undefined array key "sex"

該当のソースコード

php

<!DOCTYPE HTML> @extends('layouts.app') @section('content') <head> <title>profile_search</title> </head> <body> <h1>ユーザー検索</h2> <form action="/profiles/search" method="get"> @csrf <div class="search_sex"> 性別: <input type="radio" name="profile[sex]" value="男性">男性 <input type="radio" name="profile[sex]" value="女性">女性 <input type="radio" name="profile[sex]" value="その他">その他 </div> <div class="search_prefecture"> 都道府県:<select name="profile[prefecture_id]" > @foreach($prefectures as $prefecture) <option value="{{ $prefecture->id }}">{{ $prefecture->name}}</option> @endforeach </div> <input type="submit" value="検索する"> </form> @if(isset($profiles)) <table class="table"> <tr> <th>ニックネーム</th><th>性別</th><th>都道府県</th> </tr> @foreach($profiles as $profile) <tr> <td>{{$profile->nickname}}</td><td>{{$profile->sex}}</td><td>{{$profile->prefecture->name}}</td> </tr> @endforeach </table> @endif <div class="back">[<a href="/">戻る</a>]</div> </body> @endsection

試したこと

①ラジオボタンに初期値を持たせる
→ネットで調べましたが分からずじまい、、、
②性別が入力されていないときにエラー文を出力する
→変数に対してバリデーション等行っている記事を見つけましたが、検索結果を変数に格納してないし、やるとしてもif文の中にif文ができてしまうのでは?

良い質問の評価を上げる

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

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

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

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

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

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

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

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

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

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

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

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

ただいまの回答率
87.20%

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

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

質問する

関連した質問

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

Laravel 6

Laravel 6は、オープンソースなPHPのフレームワーク。Webアプリケーションの開発に適しており、バージョン6はLTSです。5.8での向上に加えて、セマンティックバージョニングの採用やLaravel Vaporとのコンパチビリティなどが変更されています。

PHP

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

検索

検索は、あるデータの集まりの中から 目的のデータを見つけ出すことです。