PHP 『 超 』 初心者勉強会 – チャット作成(前半)に行って来ました。
テキストファイル(log.txt)を読み込みフォームの内容を書き込みます。
チャットプログラム
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 |
<h1>チャットプログラム</h1> <form method="post"> 名前:<br /> <input type="text" name="name" value="" /> <br /> コメント:<br /> <textarea name="comment"></textarea> <br /> <input type="submit" value="書き込み" /> </form> <?php //ファイル名 $file = "log.txt"; //ログ $log = $_POST["name"]." ".$_POST["comment"]; //ログの書き込み file_put_contents($file,$log);//PHP4だと使えない。 //ログの読み出し print file_get_contents($file); //こんな書き方だってあるよ。今回は関係ないけど。 //print file_get_contents("http://www.google.com"); var_dump($_POST); print "<br />"; print $_POST["name"]; print "<br />"; print $_POST["comment"]; ?> |
とりあえず、ファイルを読み込んでテキストを追記して保存、表示する所までできた。
PHPはホントに手順の単純化が徹底しているなぁ。
フォームに内容があるかどうかで分岐する機能と表示順を入れ替える機能の追加。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
<h1>チャットプログラム</h1> <form method="post"> 名前:<br /> <input type="text" name="name" value="" /> <br /> コメント:<br /> <textarea name="comment"></textarea> <br /> <input type="submit" value="書き込み" /> </form> <?php //ファイル名 $file = "log.txt"; if(empty($_POST["name"])){ print "名前が未入力です。<br />"; }else if(empty($_POST["comment"])){ print "メッセージが未入力です。<br />"; }else{ $log = $_POST["name"]." ".$_POST["comment"]."<br />"; print "書き込みました!<br />"; } //ログの書き込み file_put_contents($file,$log,FILE_APPEND);//FILE_APPENDは追記の定義定数 // ログの読み出し $temp = file_get_contents($file); // ¥nで配列に区切る $arr = explode("¥n", $temp); // 配列を上下入れ替え $arr = array_reverse($arr); // brを入れて配列を出力 print join("<br />",$arr); ?> |