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

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

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

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

解決済

Undefined indexエラーを消したい。

berukokoko
berukokoko

総合スコア12

PHP

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

2回答

0リアクション

3クリップ

60276閲覧

投稿2017/02/11 07:21

###前提・実現したいこと
phpでお問い合わせホームを作っています。
Notice: Undefined indexのエラーを出ないようにしないです。

###発生している問題・エラーメッセージ
1
radioボタンで性別を選んで、
選んだ際は「男性」または「女性」と表示。
どちらも選択しなかった場合は「性別が入力されていません」と表示。

2
お好きなトッピング:でも
checkboxを選んだ際は「たまご」または「メンマ」と表示。
選ばれていなかった際は「好きなトッピングを入力してください」と表示。

2つとも表示されていますが、何も入力されなかった場合

php

Notice: Undefined index: gender in /Applications/XAMPP/xamppfiles/htdocs/otoiawase/ramenn.php on line 33 Notice: Undefined index: gender in /Applications/XAMPP/xamppfiles/htdocs/otoiawase/ramenn.php on line 34

php

Notice: Undefined index: top in /Applications/XAMPP/xamppfiles/htdocs/otoiawase/ramenn.php on line 86

と出てしまいます。

###該当のソースコード

php

<html> <head> <title>ラーメンインデックス</title> </head> <style> fieldset{ width: 500px; } </style> <body> <fieldset> <legend>ラーメン屋アンケート</legend> 入力項目です。 <form method="post" action="ramenn.php"> <p>お名前:</p> <input type="text" name="name"> <p>性別:</<p> <input type="radio" name="gender" value="">男性 <input type="radio" name="gender" value="">女性 <p>年齢:</p> <select name="age"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> </select> <p>郵便番号:</p> <input type="text" name="yuu">-<input type="text" name="yuu"> <p>Eメールアドレス:</p> <input type="text" name="mail"> <p>好きなラーメン:</p> <select name="ramenn"> <option value="a">塩ラーメン</option> <option value="b">醤油ラーメン</option> <option value="c">豚骨ラーメン</option> </select> <p>お好きなトッピング:</p> <!-- <label><input type="checkbox" name="top[]" value="たまご">たまご</label> <label><input type="checkbox" name="top[]" value="メンマ">メンマ</label> --> <?php $top=array('eg'=>'たまご','mennma'=>'メンマ'); $cnt =0; foreach ($top as $key => $value) { print '<label><input type="checkbox" name="top[]" value="'.$value.'" id="top_'.$cnt.'">'.$value.'</label>'; $cnt++; }; ?> <p>ご感想:</p> <textarea rows="4" cols="40" name="kan"></textarea> <input type="submit" value="送信" name=""> <input type="submit" value="戻る" name=""> </form> </fieldset> </body> </html>

php

<html> <head> <title>ラーメンお問い合わせホーム</title> </head> <style> fieldset{ width: 500px; } </style> <body> <fieldset> <legend>ラーメン屋アンケート</legend> <form> 入力項目です。 <?php $name=$_POST['name']; print $name.'さんこんにちは'; ?> <p>お名前:</p> <?php $name=$_POST['name']; if($name===""){ print 'お名前が入力されていません。'; }else{ print $name.'さん'; } ?> <p>性別:</<p> <?php $gender = $_POST['gender']; if(!empty($_POST['gender'])&&($_POST['gender'])=="男"||$_POST['gender']=="女"){ print "性別は"; print $_POST['gender']; }else { print '性別が入力されていません'; } ?> <p>年齢:</p> <?php $age =$_POST['age']; print $age.'歳'; ?> <p>郵便番号:</p> <?php $yuu = $_POST['yuu']; print $yuu; if($yuu === ""){ print '郵便番号が入力されていません'; }else{ print $yuu; } ?> <p>Eメールアドレス:</p> <?php $mail = $_POST['mail']; if($mail === ""){ print 'メールが入力されていません'; }else{ print $mail; } ?> <p>好きなラーメン:</p> <?php $ramenn = $_POST['ramenn']; switch($ramenn){ case 'a': print '塩ラーメンですね'; break; case 'b': print '醤油ラーメンですね'; break; case 'c': print '豚骨ラーメンですね'; break;} ?> <p>お好きなトッピング:</p> <?php $top = $_POST['top']; if(empty($top)){ print '好きなトッピングを入力してください'; }else{ foreach ($top as $value) { print "$value<br>"; } } ?> <p>ご感想:</p> <?php $kan=$_POST['kan']; if($kan === ""){ print ''; }else{ print $kan; } ?> </form> <input type="submit" value="確定"> <input type="submit" value="修正"> </fieldset> </body> </html>

Notice:を消す方法が調べましたがよくわかりませんでした・・・。
よろしければご教授願いたいです・・・。
宜しくお願いします。

以下のような質問にはリアクションをつけましょう

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

リアクションが多い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

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

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

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

下記のような質問は推奨されていません。

  • 間違っている
  • 質問になっていない投稿
  • スパムや攻撃的な表現を用いた投稿

適切な質問に修正を依頼しましょう。

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

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

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

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

ただいまの回答率
86.12%

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

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

質問する

関連した質問

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

PHP

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