以下のコードで編集番号を入力したらform内に番号に対応している内容をvalueで表示させたいんですけどうまくいかないです。
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>a</title> </head> <body> <!-- 入力ホーム --> <form action="" method="POST"> 名前:<input type="text" name="name" value="<?php if(!empty($b)){echo $b;}?>"><br> コメント:<input type="text" name="comment" value="<?=$c?>"> 見えない番号:<input type="text" name="fix_number" value="<?=$a?>"> <input type="submit" name="submit"> </form><?php /* データの受信 */ $name=$_POST["name"]; $comment=$_POST["comment"]; $delete_number=$_POST["delete_number"]; $fix_number=$_POST["fix_number"]; $date = date("Y/m/d H:i:s"); /* 入力 */ if (!empty($name) && !empty($comment)) { $file = "mission3-4.txt"; /* 行数の読み込み及び番号振り付け */ $line=file($file); $i = count($line)+1; $content = $i."<>".$name."<>".$comment."<>".$date."\n"; /* テキスト内に書き込み*/ $fp = fopen($file,"a"); fwrite($fp,$content); fclose($fp); } /* 削除 */ elseif(!empty($delete_number)){ $file = "mission3-4.txt"; $data = file($file,FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); $fp=fopen($file,"w"); foreach($data as $line){ $line_content = explode("<>",$line); $aim_number=$line_content[0]; if($aim_number!= $delete_number){ $content =$line_content[0]."<>".$line_content[1]."<>".$line_content[2]."<>".$line_content[3]."\n"; fwrite($fp,$content); } } fclose($fp); } /* 編集内容表示 */ elseif(!empty($fix_number)){ $file = "mission3-4.txt"; $data = file($file,FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); foreach($data as $line){ $line_content = explode("<>",$line); $aim_number=$line_content[0]; if($aim_number== $fix_number){ $a=$line_content[0]; $b=$line_content[1]; $c=$line_content[2]; echo $b; } } } /* 編集する */ elseif(!empty($b) && !empty($c)){ $file = "mission3-4.txt"; $data = file($file,FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); $fp=fopen($file,"w"); foreach($data as $line){ $line_content = explode("<>",$line); $aim_number=$line_content[0]; if($aim_number!= $a){ fwrite($fp,$line); } else{ fwrite($fp,$fix_number."<>".$name."<>".$comment."<>".$data); } } fclose($fp); } else{ echo "入力して<br>"; } ?> <?php /*テキスト内の出力*/ $file="mission3-4.txt"; $data = file($file,FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES); foreach($data as $line){ $line_content = explode("<>",$line); echo $line_content[0]." ".$line_content[1]." ".$line_content[2]." ".$line_content[3] . "<br>"; } ?><!-- 削除ホーム --> <form action="" method="POST"> 削除番号:<input type="text" name="delete_number"> <input type="submit" value="削除" name="submit"> </form> <!-- 編集ホーム --> <form action="" method="POST"> 編集番号:<input type="text" name="fix_number"> <input type="submit" value="編集" name="submit"> </form>
</html></body>
コードはマークダウンのcode機能を利用してご提示ください
あなたの回答
tips
プレビュー