前提・実現したいこと
私は今PHPで簡易的な掲示板を作成しているのですが、その中で指定した番号の投稿を削除する機能を実装したいと考えています。ファイル内容を格納した配列を最初から見て、投稿番号が一致しなければ書き込み、一致すれば書き込まないというものです。私なりにコードを記述してみたのですが、投稿番号が一致しているという式をどのように書けばよいのかがわかりません。
該当のソースコード
mission3
1<!DOCTYPE html> 2<html lang="en" dir="ltr"> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 </head> 7 <body> 8 <form action="mission3-3.php" method="post"> 9 <p>名前:</p> 10 <input name="name" type="text" name="" value=""> 11 <p>コメント:</p> 12 <textarea name="message" rows="8" cols="80"></textarea><br> 13 <input type="submit" name="" value="提出"> 14 </form> 15 </body> 16</html>
mission3
1<?php 2 $filename = 'mission3y.txt'; 3 $name = $_POST['name']; 4 $message = $_POST['message']; 5 $postedAt = date('Y-m-d H:i:s'); 6 $file_array = file($filename); 7 $num = count($file_array); 8 $num++; 9 $newdata = $num." ".$name." ".$message." ".$postedAt."\n"; 10 $fp = fopen($filename, "a"); 11 fwrite($fp,$newdata); 12 fclose($fp); 13 14 foreach ($file_array as $val) { 15 echo $val."<br><br>"; 16 } 17?> 18 19<!DOCTYPE html> 20<html lang="en" dir="ltr"> 21 <head> 22 <meta charset="utf-8"> 23 <title></title> 24 </head> 25 <body> 26 <a href="delete.html">削除画面へ</a> 27 </body> 28</html>
delete.html
1<!DOCTYPE html> 2<html lang="en" dir="ltr"> 3 <head> 4 <meta charset="utf-8"> 5 <title></title> 6 </head> 7 <body> 8 <p>削除対象番号</p> 9 <form class="" action="delete.php" method="post"> 10 <input type="text" name="delnu" value=""> 11 <input type="submit" name="delete" value="削除"> 12 </form> 13 </body> 14</html>
delete.php
1<?php 2 $filename = 'mission3y.txt'; 3 $file_array = file($filename); 4 $delnu = $_POST['delnu']; 5 6 if (isset($delnu) == $file_array) { 7 $newdata ="\n"; 8 $fp = fopen($filename, "a"); 9 fwrite($fp,$newdata); 10 fclose($fp);; 11 } else { 12 echo "жЫЄгБНиЊЉгВА"; 13 } 14 ?>
試したこと
ファイル内容を格納するところまではわかったのですがその後の機能をどのように実装したら良いのかがわかりません。
PHPの掲示板機能については過去質問に幾度となく出てきているので、まずは過去質問をご確認ください。(私も何度か回答したことがあります)
検索例
https://teratail.com/search?q=%E6%8E%B2%E7%A4%BA%E6%9D%BF+tag%3APHP
https://teratail.com/search?q=%E6%8E%B2%E7%A4%BA%E6%9D%BF+%E5%89%8A%E9%99%A4+tag%3APHP
https://teratail.com/search?q=mission+tag%3APHP
↑もしかして最後の?翻訳できない・・
質問に対する直接の回答でない内容でどのように回答に至れたのでしょうか。
「課題だから構成は変えられない」というパターンが非常に多いと思われますが。
https://teratail.com/help/question-tips#questionTips4-2
回答1件
あなたの回答
tips
プレビュー