質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

1回答

559閲覧

簡易掲示板の削除、編集機能について

kanaee

総合スコア9

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2018/07/26 13:14

簡易掲示板を作成しました。
ただ、削除・編集に関する機能を作成しようと考えたものの、よく分かりません。

PHP

1<?php 2 function h($str) { 3 return htmlspecialchars($str, ENT_QUOTES); 4 } 5 $rows = json_decode(file_get_contents('bbs1.json'), true); 6 if (!empty($_POST['write'])) { 7 $row = array( 8 'name' => $_POST['name'], 9 'title' => $_POST['title'], 10 'contents' => $_POST['contents'], 11 'time' => date("Y/m/d H:i:s") 12 ); 13 14 15 array_unshift($rows, $row); 16 file_put_contents('bbs1.json', json_encode($rows)); 17 } 18 19?> 20<html> 21 <head> 22<title>簡易掲示板</title> 23<style> 24/*押しボタン*/ 25 .square_btn { 26 display: inline-block; 27 padding: 0.5em 1.2em; 28 text-decoration: none; 29 color: #67c5ff; 30 border: solid 2px #67c5ff; 31 border-radius: 3px; 32 transition: .4s; 33} 34</style> 35 </head> 36<body> 37 <center> 38 39<div class="ac-container"> 40<label for="ac-1" a href="#" class="square_btn" > 新規内容を作成 </label></a> 41<input id="ac-1" name="accordion-1" type="checkbox" /> 42<div class="ac-small"> 43<form method="post"> 44 <br> 45名前: <input name="name"><br> 46<br> 47題名: <input name="title"><br> 48<br> 49<textarea name="contents" cols="60" rows="5"></textarea><br> 50<br> 51<input type="submit" name="write" value="送信"><br> 52</form> 53<hr> 54</a> 55 </div> 56</div> 57 <?php foreach($rows as $row): ?> 58 <div style="padding: 10px; padding-bottom: 100px; border: 1px solid #ff7f7f;"> 59 <strong><?php echo h($row['title']) ?></strong> 60 <br><small>投稿者:<?php echo h($row['name']) . ' ' . h($row['time']) ?></small> 61 <hr> 62 <p><?php echo nl2br(h($row['contents']), false) ?></p> 63 </div><br><br> 64 <?php endforeach ?> 65 66</center> 67</body> 68 </html> 69

宜しくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

tanat

2018/07/26 14:27

参考/引用したサイトや書籍があれば記述してください
退会済みユーザー

退会済みユーザー

2018/07/27 03:09

今回のこれはドットインストールかな
guest

回答1

0

ベストアンサー

一つのファイルに全記事が含まれているので、基本的には、全ての内容を書き換えてファイルに書き出すことで修正・削除を実現することになります。

コード的には、$rowsに全てが読み込まれているので、以下のコードで記事の書き換えを実現しています。

php

1file_put_contents('bbs1.json', json_encode($rows)); 2

削除の場合、当該行・当該配列の要素を削除して書き出せば一記事を削除することができます。同様に修正の場合、当該配列の要素を変更すれば良い、となります。

投稿2018/07/27 02:39

t_obara

総合スコア5488

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問