ポンクソフト

ファイルの読み書き(ゲストブック) - PHPでファイルの読み書き・掲示板

前ページ PHPでファイルの読み書き・掲示板 TOP 次ページ

目次

  1. PHPでファイルの読み書き・掲示板
  2. ファイルの読み込み
  3. ファイルの書き込み
  4. ファイルの読み書き(ゲストブック)
  5. 設定ファイルの読み書き
  6. CSVファイルの読み込み
  7. テキストエディタの作成
  8. アンケートシステムの作成
  9. 掲示板1(シンプル)

簡易ゲストブック

ファイルの読み込みと書き込みを組み合わせて簡易ゲストブックを作成しましょう。

プログラムの作成

以下のソースを入力してください。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Shift_JIS">
<title>簡易ゲストブック</title>
</head>
<body>
<form method="post" action="guestbook.php">
<textarea name="contents" cols="60" rows="5"></textarea>
<input type="submit" value="送信">
</form>
<hr>

<?php
$contents = $_POST['contents'];
if ($contents) {
  $contents = htmlspecialchars($contents);
  $contents = str_replace("\n", "<br>", $contents);
  $contents = $contents . "\n";
  $fp = fopen('guestbook.txt', 'a');
  fputs($fp, $contents);
  fclose($fp);
}
$lines = file('guestbook.txt');
foreach($lines as $l) {
  print "$l\n<hr>\n";
}
?>

</body>
</html>
入力が終わったら「guestbook.php」というファイル名で保存し、サーバにアップします。さらに空のテキストファイル「guestbook.txt」を作成、アップし、属性変更から「その他」に書込許可属性を与えます。その後「guestbook.php」を実行してみて、フォームに書き込むとその内容が表示されることを確認してください。

ソースの解説

$contents = $_POST['contents'];
if ($contents) {
前回と同じく、フォーム内容があれば書き込み処理を行ないます。
$contents = htmlspecialchars($contents);
セキュリティ対策として、書き込み内容のタグを全て無効化している部分です。
$contents = str_replace("\n", "<br>", $contents);
複数行メッセージの場合、改行した場所には改行コードが入っているので、それを<br>タグに変換しています。
$contents = $contents . "\n";
各メッセージの区切りを改行コードにしています。これによって、file関数で各メッセージを配列に一気に読み込むことができるようになります。
$fp = fopen('guestbook.txt', 'a');
「a」は追加(append)オープンです。ファイルの末尾に新しいデータを追加していくモードです。
foreach($lines as $l) {
  print "$l\n<hr>\n";
}
ファイルの各行について、内容を出力し、<hr>タグで区切り線を表示しています。
前ページ PHPでファイルの読み書き・掲示板 TOP 次ページ
このエントリーをはてなブックマークに追加 そっか0

このページに関するコメントをどうぞ

お名前:


paywinlv
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/24 18:04

anklebitcw
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/24 11:35

butterfxa
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/24 03:37

nhadeptronmr
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/23 20:39

nhadeptronlv
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/23 15:24

sinforve
すべての
calltrackingsource.com 13s.info nhadeptrongoi.com kashinvestment.com csgo-butterfly.com anklebitergaming.com
csfire.pro envelopesstore.com ginastarmusic.com mp3-teca.com csgoodstakes.com
went.black 2pay4win.com appliancerepairsnearme.com oferta-netflix.com
techitax.com csprey.com lightshadowspace.com csboom.pro
投稿者
2017/01/23 12:46

calltrackju
すべての
cbbnews24.com
csgobooms.com
csgojoybets.com
incareersjobs.com
stcmidtenn.org
thewill.in
sakirkaratas.com
apexturnkey.in
medray.in
applevalleymarket.com
b8b90.com
danhhotgay.com
cstopstake.com
nsm.org.in
vov-fc.com
csgohugepots.com
eaglesapparelshop.com
mymobileappmobiappssub2016.com
sbppl.org
gracedental.in
kehulin.com
cheappricetoyou2015.com
vamortgageloantexas.com
doitacdoanhnghiep.com
techimanage.com
elmi.co
upea.in
esncordoba.org
goal888cash.com
fullebookz.com
2winde222.com
投稿者
2017/01/23 09:37

calltrackxm
すべての
cbbnews24.com
csgobooms.com
csgojoybets.com
incareersjobs.com
stcmidtenn.org
thewill.in
sakirkaratas.com
apexturnkey.in
medray.in
applevalleymarket.com
b8b90.com
danhhotgay.com
cstopstake.com
nsm.org.in
vov-fc.com
csgohugepots.com
eaglesapparelshop.com
mymobileappmobiappssub2016.com
sbppl.org
gracedental.in
kehulin.com
cheappricetoyou2015.com
vamortgageloantexas.com
doitacdoanhnghiep.com
techimanage.com
elmi.co
upea.in
esncordoba.org
goal888cash.com
fullebookz.com
2winde222.com
投稿者
2017/01/22 23:55

techitaxxe
すべての techitax.com csprey.com lightshadowspace.com csboom.pro cbbnews24.com csgobooms.com csgojoybets.com incareersjobs.com stcmidtenn.org thewill.in sakirkaratas.com apexturnkey.in 投稿者
2017/01/22 20:37

test
testです
2017/01/22 16:39

残りを読む »