if($_SERVER["REQUEST_METHOD"] == "POST"){
writeData();
}
readData();
function readData(){
$keijiban_file = 'keijiban.txt';
$fp = fopen($keijiban_file, 'rb');
if ($fp){
if (flock($fp, LOCK_SH)){
while (!feof($fp)) {
$buffer = fgets($fp);
print($buffer);
}
flock($fp, LOCK_UN);
}else{
print('ファイルロックに失敗しました');
}
}
fclose($fp);
}
function writeData(){
$personal_name = $_POST['personal_name'];
$contents = $_POST['contents'];
$contents = nl2br($contents);
$data = "\r\n";
$data = $data."
投稿者:".$personal_name."
\r\n";$data = $data."
内容:
\r\n";$data = $data."
".$contents."
\r\n";if($personal_name == "") {
print("なまえがないよ");
if($contents == "") {
print("中身がないよ!");
exit();
}
}
$keijban_file = 'keijiban.txt';
$fp = fopen($keijban_file, 'ab');
if ($fp){
if (flock($fp, LOCK_EX)){
if (fwrite($fp, $data) === FALSE){
print('ファイル書き込みに失敗しました');
}
flock($fp, LOCK_UN);
}else{
print('ファイルロックに失敗しました');
}
}
fclose($fp);
}
?>
って感じで名前と内容が空白なときはエラーメッセージを表示し、書き込みできないようにした。
これだけでも3時間かかった(笑
PHPむずす。。
しかしまだ名前と内容のどちらかに入力があれば片方が未入力でも投稿できてしまう。
これをちゃんと判定できるようにしたい。
elseifってこういうときに使うの?
でもまぁ続きはまたこんどやろっと。
一番の収穫はコードいじるだけで3時間は過ごせたこと。
これができることがわかれば何時間かけてどんな複雑なコードを書くことに挑戦しても
わかんね。やめたー。
ってことにはならない(と思う)ことがわかった。