QA@IT
«質問へ戻る

質問を投稿

php 簡易掲示板で削除機能を実装する

今、phpで簡易掲示板を作成する課題を行っています
その簡易掲示板に削除番号を指定すると、該当番号の投稿を削除する機能を実装したいです

実装したい内容は
1,POST送信にて削除番号を送信する。その際if文で削除フォームから値が送信された場合のみの処理に分岐させておく
2,fileで配列化して読み込み、ループさせる
3,explodeを使って投稿番号を取得する
4,各投稿番号とPOSTで送信された削除番号を比較し、イコールでない時のみテキストに上書き保存を行う
です

コード↓
<?php

$dataFile ='bbs2.txt';

if ($_SERVER['REQUEST_METHOD'] == 'POST')
{

$message = ($_POST['message']);

$user = ($_POST['user']);

$postedAt = date('Y-m-d H:i:s');





$newData = (sizeof(file($dataFile)) + 1)."<>".$message."<>".$user."<>".$postedAt. "\n";

$fp = fopen($dataFile,'a');
fwrite($fp, $newData);
fclose($fp);

}

?>

<!DOCTYPE html>



簡易掲示板


    簡易掲示板

    message:<input type="text" name="message">
     user:<input type="text" name="user">
     <input type="submit" value="投稿"></br></br>
     削除対象番号<input type="text" name="delete">
     <input type="submit" value="削除">
 </form>

<?php

 $file=file($dataFile); // ファイルの内容を配列に格納


 foreach( $file as $value ){

 $line = explode("<>",$value);

 echo $value."<br />\n"; // 改行しながら値を表示

}

?>

今、phpで簡易掲示板を作成する課題を行っています
その簡易掲示板に削除番号を指定すると、該当番号の投稿を削除する機能を実装したいです

実装したい内容は
1,POST送信にて削除番号を送信する。その際if文で削除フォームから値が送信された場合のみの処理に分岐させておく
2,fileで配列化して読み込み、ループさせる
3,explodeを使って投稿番号を取得する
4,各投稿番号とPOSTで送信された削除番号を比較し、イコールでない時のみテキストに上書き保存を行う
です

コード↓
<?php

$dataFile ='bbs2.txt';


if ($_SERVER['REQUEST_METHOD'] == 'POST')
{
	
	
	

	$message = ($_POST['message']);
	   
	$user = ($_POST['user']);

	$postedAt = date('Y-m-d H:i:s');



	

	$newData = (sizeof(file($dataFile)) + 1)."<>".$message."<>".$user."<>".$postedAt. "\n";

	$fp = fopen($dataFile,'a');
    fwrite($fp, $newData);
    fclose($fp);
}




?>

<!DOCTYPE html>
<html lang="ja">
<head>
     <meta charset="utf-8">
	 <title>簡易掲示板</title>
</head>
<body>
    <h1>簡易掲示板</h1>
     <form action="" method="POST">
     	
	    message:<input type="text" name="message">
	     user:<input type="text" name="user">
         <input type="submit" value="投稿"></br></br>
         削除対象番号<input type="text" name="delete">
         <input type="submit" value="削除">
     </form>
<?php
     
     $file=file($dataFile); // ファイルの内容を配列に格納
 	 
 	 
     foreach( $file as $value ){
      
     $line = explode("<>",$value);

     echo $value."<br />\n"; // 改行しながら値を表示
     

     
}
     
?>


</body>
</html>