前提・実現したいこと
掲示板を作ったのですが問題なく動いてるのにエラーが表示されます。
発生している問題・エラーメッセージ
Notice: Undefined index: color in C:\xampp\htdocs\practice\text_board\textboard_arrange.php on line 21
該当のソースコード
PHP
1<?php 2 3$filename = 'counter.dat'; 4 5$fp1 = fopen($filename, "r+"); 6$count = fgets($fp1,32); 7$count++; 8fseek($fp1, 0); 9fputs($fp1, $count); 10flock($fp1, LOCK_UN); 11fclose($fp1); 12 13 14//最初に変数を定義しておかないとエラーになる 15$err_msg1 = ""; 16$err_msg2 = ""; 17$message = ""; 18$name = (isset($_POST["name"]) === TRUE) ?$_POST["name"]:""; 19$comment = (isset($_POST["comment"]) === TRUE) ?trim($_POST["comment"]):""; 20$_POST["date"] = date('Y/m/d H:i:s'); 21$color = $_POST["color"]; 22 23 24//投稿がある場合にのみ処理を行う 25if(isset($_POST["send"]) === true){ 26 if($name === "")$err_msg1 = '名前を入力してください'; 27 28 if($comment === "")$err_msg2 = 'コメントを入力してください'; 29 30 if($err_msg1 === "" && $err_msg2 === ""){ 31 $fp2 = fopen("data.txt", "a"); 32 fwrite($fp2, $name."\t".$comment."\t".date('Y/m/d H:i:s')."\t".$color."\r\n"); 33 $message = '書き込みに成功しました'; 34 } 35} 36$fp2 = fopen("data.txt", "r"); 37 38$dataArr = array(); 39while($res = fgets($fp2)){ 40 $tmp = explode("\t", $res); 41 $arr = array( 42 "name"=>$tmp[0], 43 "comment"=>$tmp[1], 44 "date"=>$tmp[2], 45 "color"=>$tmp[3], 46 ); 47 $dataArr[] = $arr; 48} 49?> 50 51<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.ong/TR/html4/loose.dtd"> 52<html lang="ja"> 53 <head> 54 <meta http-equiv="content-type" content="text/html; charset=utf-8" /> 55 <title>掲示板</title> 56 </head> 57 <body bgcolor="#9999FF"> 58 <table border="1"> 59 <tr><td><?php echo $count;?></td></tr></table> 60 <h1><center>一行掲示板</center></h1> 61 <h3><center>思いつくまま、一言メッセージをどうぞ。</center></h3> 62 <?php echo $message; ?> 63 <table border="2" bgcolor="#9999FF"><tr> 64 <form action="" method="post"> 65 <td>名前</td><td><input type="text" name="name" value="<?php echo $name;?>"></td></tr> 66 <?php echo '<font color="red">'.$err_msg1.'</font>';?><br> 67 <tr><td>コメント</td><td><textarea name="comment" row="4" cols="40"><?php echo $comment;?></textarea></td></tr> 68 <?php echo '<font color="red">'.$err_msg2.'</font>';?><br> 69 <tr> 70 <td> 71 <label for="color">文字の色</label> 72 <select name="color"> 73 <option value="#000000">黒</option> 74 <option value="#FFFFFF">白</option> 75 <option value="#FF0000">赤</option> 76 <option value="#0000FF">青</option> 77 <option value="#00FF00">緑</option> 78 <option value="#660099">紫</option> 79 <option value="#FF3300">橙</option> 80 </select> 81 <td><input type="submit" name="send" value="クリック"></td> 82 </form></table> 83 <br> 84 <hr> 85 <br> 86 <dl> 87 <?php foreach($dataArr as $data):?> 88 <p><span><font color="<?php echo htmlspecialchars($data["color"], ENT_QUOTES, 'UTF-8');?>"><?php echo htmlspecialchars($data["name"], ENT_QUOTES, 'UTF-8');?></font></span> > <span><font color="<?php echo htmlspecialchars($data["color"], ENT_QUOTES, 'UTF-8');?>"><?php echo htmlspecialchars($data["comment"], ENT_QUOTES,'UTF-8');?></font></span><span>(<?php echo $data["date"];?>)</span></p> 89 <?php endforeach;?> 90 </dl> 91 </body> 92</html> 93
試したこと
補足情報(FW/ツールのバージョンなど)
コメントを投稿すると消えます
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/06/29 05:56
2018/06/29 06:16
2018/06/30 04:44
退会済みユーザー
2018/06/30 06:48