簡易掲示板のエラーの修正

実現したいこと

簡易掲示板の製作中なのですが、以下のコードだと実行した後にエラーが発生します。直したい点は以下の二点です。
①Notice: Undefined indexが出ないようにすること
➁名前とコメントが入力されていない状態で新規投稿がされないようにすること

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

Notice: Undefined index: name in /public_html/mission3-2.php on line 18 Notice: Undefined index: str in /public_html/mission3-2.php on line 19

該当のソースコード

php

1<!DOCTYPE html>2<html>3 <head lang="ja">4 <meta charset="utf-8"/>5 <title>mission3-2</title>6 </head>7 <body>8 <form action= ""method="post">9 <input type="text" name="name" placeholder="名前"><br>10 <input type="text" name="str" placeholder="コメント">11 <input type="submit" name="submit">12 </form>13 14 <?php15 $filename="missioin3-2.txt";16 17 //名前、コメント、日付の受け取り18 $name=$_POST["name"];19 $str=$_POST["str"];20 $date = date("Y/m/d H:i:s"); 21 22 23 //ファイルの投稿番号24 if(file_exists($filename)){25 $num=count(file($filename))+1;26 }else{27 $num=1;28 }29 30 //投稿の作成31 $comment=$num."<>".$name."<>".$str."<>".$date;32 33 //ファイル指定、開く、記入、閉じる34 $fp=fopen($filename,"a");35 fwrite($fp,$comment.PHP_EOL);36 fclose($fp);37 38 39 //改行40 if(file_exists($filename)){41 $lines = file($filename,FILE_IGNORE_NEW_LINES);42 foreach($lines as $line){43 $elements=explode("<>",$line);44 echo "$elements[0] ";45 echo "$elements[1] ";46 echo "$elements[2]<br>";47 echo "$elements[3]<br>"; }48 }49 50 51 ?>52 53 </body>54 55</html>

試したこと

if(!empty($_POST["$str"])||!empty($_POST["name"])){
}
をどこかに使うことはわかるのですが、使う場所が違うのか自分のやり方がおかしいのかわかりませんが、違うエラーが出てしまいました。

コメントを投稿

0 コメント