PHPでできたもののコード

画面上で入力と削除ができます
  1. <!DOCTYPE html>
  2. <html lang = "ja">
  3.     <head>
  4.         <meta charset="UTF-8">
  5.         <title>mission3</title>
  6.     </head>
  7.     <body>
  8.         <form action="" method="post">
  9.             <input type="text" name="name" placeholder="名前">
  10.             <input type="text" name="comment" placeholder="コメント">
  11.             <input type="submit" name="submit">
  12.         <form action="" method="post">
  13.             <input type="number" name="delete" placeholder="削除対象番号" >
  14.             <input type="submit" name="submit" value="削除">
  15.         </form>
  16.         </form>
  17.         
  18.         <?php
  19.        
  20.     $str = $_POST["str"];
  21.     $name = $_POST["name"];
  22.     $del = $_POST["del"];
  23.     if(empty($str.$name)){
  24.     }else{
  25.         
  26.       $filename="mission3-3.txt";
  27.       $fp=fopen($filename,"a");
  28.     $date = date("Y年m月d日H時i分s秒");
  29.     $num = count(file($filename));
  30.     $num++;
  31.      fwrite($fp,$num."<>".$name."<>".$str."<>".$date.PHP_EOL);
  32.      fclose($fp);
  33.     }
  34.    
  35.     
  36.      
  37.     
  38.       
  39.      
  40.     
  41.      //削除
  42.      if(empty($delete)){
  43.          }else{
  44.               $lines=file($filename,FILE_IGNORE_NEW_LINES);
  45.         $fp=fopen($filename,"w");
  46.          foreach($lines as $line){
  47.              $line=explode("<>",$line);
  48.              if($delete!= $line[0]){
  49.                  fwrite($fp,$line[0]."<>".$line[1]."<>".$line[2]."<>".$line[3].PHP_EOL);
  50.         
  51.          } //echo $explode[0],"",$explode[1],"",$explode[2],"",$explode[3]."<br>";
  52.                  //$fp=fopen($filename,"a");
  53.                  //$txt=$form[0]."<>".$form[1]."<>".$form[2]."<>".$form[3].PHP_EOL;
  54.                  // fwrite($fp,$txt);
  55.              }fclose($fp);
  56.          }
  57.     
  58.      
  59.      //画面表示
  60.      if(file_exists($filename)){
  61.         $lines=file($filename,FILE_IGNORE_NEW_LINES);
  62.        foreach($lines as $line){
  63.            $line=explode("<>",$line);
  64.            echo $line[0]."";
  65.            echo $line[1]."";
  66.            echo $line[2]."";
  67.            echo $line[3]."<br>";
  68.        }
  69.      }
  70.        
  71.      ?>
  72.     </body>
  73.           
  74.     </html>

補足説明

この掲示板では入力して表示したときに1つ目の投稿なら1という番号が表示されるので、削除したい投稿の番号を指定して入力して削除することができる。要素を分解すると、新しいフォーム作成+条件分岐+テキストファイルの配列への書き込み+ループ処理+文字列の分割・取り出しの5つになる。

参考にしたサイト


配列の要素をかぞえる
文字列の分割