php<html>
1<head> 2<meta charset="utf-8"> 3 <title>○○</title> 4 </head> 5 <body> 6 <form method="POST" action="○○.php"> 7 <input type="text" name="namae" value="名前"><br> 8 <input type="text" name="name" value="コメント"><br> 9 <input type="text" name="sakuzyo" placeholder="削除対象番号"><br> 10 <input type="submit" value="送信"> 11 12 </form> 13 <?php 14 $name=$_POST["name"];//コメントフォーム 15 $namae=$_POST["namae"];//名前フォーム 16 $sakuzyo=$_POST["sakuzyo"];//削除フォーム 17 $date=date('Y年m月d日 H時i分');//日付 18 $filename="●●.txt";//テキストファイル 19 20 if(empty($namae)==false&&empty($name)==false){//もし$namaeと$nameが空っぽじゃなかったら 21 $ret_array=file($filename);//テキストファイルを読み込み 22 $d=$ret_array === false ? 1 : count($ret_array)+1;//●●の要素の数を数える 23 $a=$d."<>".$namae."<>".$name."<>".$date;//投稿番号、名前、コメント、日付 24 $fp=fopen($filename,'a+');//読み込みと追加書き込みをする 25 fwrite($fp,$a.PHP_EOL);//書き込み処理 26 fclose($fp); 27 } 28 29 if(empty($sakuzyo)==false){//空っぽじゃなかったら 30 $kakikomi=fopen($filename,'w');//上書き書き込みする 31 for($i=0; $i<count($ret_array);$i++){//ループ処理 32 if($i==$sakuzyo){//削除番号と投稿番号一致したら 33 continue;//スキップ 34 } 35 fwrite($kakikomi,$ret_array[$i].PHP_EOL);//書き込み処理 36 } 37 fclose($kakikomi); 38 } 39 $ret_array=file($filename);//テキストファイルを読み込み 40 for($i=0; $i<count($ret_array);$i++){//ループ処理 41 $ex=explode("<>",$ret_array[$i]);//投稿番号取得、それを読み込んだファイル 42 echo $ex[0].$ex[1].$ex[2].$ex[3]."<br>";//分解して投稿番号を取得、表示 43 } 44?> 45 46 47</body> 48</html> 49
コードは今このような状態です。全体の目標は投稿(投稿番号付き)で削除機能をつけて、その番号を一致したものを削除するという機能をつけることです。
削除の考えは一回ファイルを空っぽにし投稿番号と削除番号が一致させそれ以外の投稿をもう一度書き込む、という形を目指しています。
現状が全体図をかけたと思っているのですが投稿が名前とコメントを入力して送信を押しても表示されない状態です。なので削除機能も試せない状態になっています、よかったら改善点を教えてください。
回答1件
あなたの回答
tips
プレビュー