###前提・実現したいこと
phpでお問い合わせホームを作っています。
Notice: Undefined indexのエラーを出ないようにしないです。
###発生している問題・エラーメッセージ
1
radioボタンで性別を選んで、
選んだ際は「男性」または「女性」と表示。
どちらも選択しなかった場合は「性別が入力されていません」と表示。
2
お好きなトッピング:でも
checkboxを選んだ際は「たまご」または「メンマ」と表示。
選ばれていなかった際は「好きなトッピングを入力してください」と表示。
2つとも表示されていますが、何も入力されなかった場合
php
1Notice: Undefined index: gender in /Applications/XAMPP/xamppfiles/htdocs/otoiawase/ramenn.php on line 33 2 3Notice: Undefined index: gender in /Applications/XAMPP/xamppfiles/htdocs/otoiawase/ramenn.php on line 34
php
1Notice: Undefined index: top in /Applications/XAMPP/xamppfiles/htdocs/otoiawase/ramenn.php on line 86
と出てしまいます。
###該当のソースコード
php
1<html> 2<head> 3<title>ラーメンインデックス</title> 4</head> 5<style> 6fieldset{ 7 width: 500px; 8} 9</style> 10<body> 11<fieldset> 12<legend>ラーメン屋アンケート</legend> 13入力項目です。 14<form method="post" action="ramenn.php"> 15<p>お名前:</p> 16<input type="text" name="name"> 17<p>性別:</<p> 18<input type="radio" name="gender" value="男">男性 19<input type="radio" name="gender" value="女">女性 20<p>年齢:</p> 21<select name="age"> 22<option value="1">1</option> 23<option value="2">2</option> 24<option value="3">3</option> 25</select> 26 27<p>郵便番号:</p> 28<input type="text" name="yuu">-<input type="text" name="yuu"> 29 30<p>Eメールアドレス:</p> 31<input type="text" name="mail"> 32 33 34 35<p>好きなラーメン:</p> 36<select name="ramenn"> 37<option value="a">塩ラーメン</option> 38<option value="b">醤油ラーメン</option> 39<option value="c">豚骨ラーメン</option> 40</select> 41 42 43<p>お好きなトッピング:</p> 44<!-- <label><input type="checkbox" name="top[]" value="たまご">たまご</label> 45<label><input type="checkbox" name="top[]" value="メンマ">メンマ</label> --> 46 47<?php 48$top=array('eg'=>'たまご','mennma'=>'メンマ'); 49$cnt =0; 50foreach ($top as $key => $value) { 51print '<label><input type="checkbox" name="top[]" value="'.$value.'" id="top_'.$cnt.'">'.$value.'</label>'; 52 $cnt++; 53}; 54?> 55<p>ご感想:</p> 56<textarea rows="4" cols="40" name="kan"></textarea> 57<input type="submit" value="送信" name=""> 58<input type="submit" value="戻る" name=""> 59</form> 60</fieldset> 61</body> 62</html>
php
1<html> 2<head> 3<title>ラーメンお問い合わせホーム</title> 4</head> 5<style> 6fieldset{ 7 width: 500px; 8} 9</style> 10<body> 11 <fieldset> 12 <legend>ラーメン屋アンケート</legend> 13<form> 14入力項目です。 15<?php 16$name=$_POST['name']; 17print $name.'さんこんにちは'; 18?> 19 20 21<p>お名前:</p> 22<?php 23$name=$_POST['name']; 24if($name===""){ 25 print 'お名前が入力されていません。'; 26}else{ 27 print $name.'さん'; 28} 29?> 30 31<p>性別:</<p> 32<?php 33$gender = $_POST['gender']; 34if(!empty($_POST['gender'])&&($_POST['gender'])=="男"||$_POST['gender']=="女"){ 35print "性別は"; 36print $_POST['gender']; 37}else { 38 print '性別が入力されていません'; 39} 40?> 41 42<p>年齢:</p> 43<?php 44$age =$_POST['age']; 45print $age.'歳'; 46?> 47<p>郵便番号:</p> 48<?php 49$yuu = $_POST['yuu']; 50print $yuu; 51if($yuu === ""){ 52 print '郵便番号が入力されていません'; 53}else{ 54 print $yuu; 55} 56?> 57 58<p>Eメールアドレス:</p> 59<?php 60$mail = $_POST['mail']; 61if($mail === ""){ 62 print 'メールが入力されていません'; 63}else{ 64 print $mail; 65} 66?> 67 68<p>好きなラーメン:</p> 69<?php 70$ramenn = $_POST['ramenn']; 71switch($ramenn){ 72 case 'a': 73 print '塩ラーメンですね'; 74 break; 75 case 'b': 76 print '醤油ラーメンですね'; 77 break; 78 case 'c': 79 print '豚骨ラーメンですね'; 80 break;} 81?> 82 83 84<p>お好きなトッピング:</p> 85<?php 86$top = $_POST['top']; 87if(empty($top)){ 88 print '好きなトッピングを入力してください'; 89}else{ 90 foreach ($top as $value) { 91 print "$value<br>"; 92 } 93} 94?> 95 96<p>ご感想:</p> 97<?php 98$kan=$_POST['kan']; 99if($kan === ""){ 100 print ''; 101}else{ 102print $kan; 103} 104?> 105</form> 106<input type="submit" value="確定"> 107<input type="submit" value="修正"> 108</fieldset> 109</body> 110</html> 111
Notice:を消す方法が調べましたがよくわかりませんでした・・・。
よろしければご教授願いたいです・・・。
宜しくお願いします。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/02/11 10:22