プロが教える店舗&オフィスのセキュリティ対策術

簡易的な掲示板を作成しています。

入力した文字をtxtに保存し、全てを出力させたいのですが表示させる際
全ての文字が繋がって表示されてしまいます。

1回目の入力   (入力)おはよう  →(出力)おはよう
2日目以降の入力 (入力)こんにちは →(出力)おはようこんにちは

となります。これを、
おはよう
こんにちは
と入力されたごとに改行して出力させたいです。

送り側のPHP

省略
<form method ="POST" action ="受け取り側の.php">
<input type ="text" name ="me">
省略

受け取り側のPHP

<?php
$keji='123.txt';
if(!file_exists($keji)) {
file_put_contents($keji,$_POST['me']);
} else {
file_put_contents($keji,$_POST['me'],FILE_APPEND);
}
$board[] = file_get_contents($keji);
foreach($board as $mes) {
echo '<p>',$mes,'</p>';
}
?>

受け取り保存されたデータは、おはようこんにちは となっており""や,で区切られていません。
又、拙い作成の為、もっと良い記述の仕方などあれば教えて頂けると嬉しいです。
宜しくお願いします。

A 回答 (2件)

区切りたいなら区切りましょう



$v = "," . $_POST['me'];
file_put_contents($keji, $v, FILE_APPEND);
...
$board = explode(",", file_get_contents($keji));
foreach ($board as $mes) {

ただし、このままですと区切り文字が掲示板に使えなくなりますので、
実用とするにはもうすこし工夫が必要になります
    • good
    • 1
この回答へのお礼

ありがとうございます!
出来ました。
まだ、分かりやすく教えて助かりました。
ありがとうございました<m(__)m>

お礼日時:2023/03/09 15:47

PHPは初心者以前の者です。


間違えている可能性は無限大。

読み込んだ物を改行表示とありますけど、その前に書き込む際にはどうされているのでしょう?
テキストファイルには改行コードで分けているのでしょうか?

https://webukatu.com/wordpress/blog/30912/#file_ …
    • good
    • 0
この回答へのお礼

ありがとうございます。
参考にさせて頂きます<m(__)m>

お礼日時:2023/03/09 15:48

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!