phpのプログラムを書籍やWebサイトを参考に組み上げてみました。
主として忘備録やテスト用にアップしております。
メールフォーム
https://ari-net.com/php/form/mail_2.php
サンプルコードみながら、自分なりにいじってみました。
BBS
https://ari-net.com/php/bbs2.php
■ファイル構成
root/
├ bbs2.php
├ data.txt
└ css/
└ common.css
昔の掲示板(BBS)風のものです。
データベースを使っておりません。
「Perlを使ってやれたことをPHPで再現してみよう」という趣旨で組んでみました。
PHPの流儀やコーディングの流れをおさえる上で大変に役立ちました。
PHPファイルとデータを吐き出すファイルを使ったBBSです。
また、新着記事が下に行ってしまうので、ここを時間のあるときにでも直してみたいです。
<?php $err_msg1 = ""; $err_msg2 = ""; $message =""; $date = ""; $name = ( isset( $_POST["name"] ) === true ) ?$_POST["name"]: ""; $comment = ( isset( $_POST["comment"] ) === true ) ? trim($_POST["comment"]) : ""; date_default_timezone_set('UTC'); $date = date('Y-m-d H:i:s'); //投稿がある場合のみ処理 if ( isset($_POST["send"] ) === true ) { if ( $name === "" ) $err_msg1 = "名前を入力してください"; if ( $comment === "" ) $err_msg2 = "コメントを入力してください"; if( $err_msg1 === "" && $err_msg2 ==="" ){ $fp = fopen( "data.txt" ,"a" ); fwrite( $fp , $name."\t".$date."\t".$comment."\n"); $message ="書き込みに成功しました。"; } } $fp = fopen("data.txt","r"); $dataArr= array(); while( $res = fgets( $fp)){ $tmp = explode("\t",$res); $arr = array( "name"=>$tmp[0], "date" =>$tmp[1], "comment"=>$tmp[2] ); $dataArr[]= $arr; } ?> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <meta charset = "utf-8"> <meta http-equiv="content-type" content="text/html;"/> <link rel = "stylesheet" type="text/css" href = "./css/comon.css" /> <title>掲示板</title> </head> <body> <form method="post" action=""> 名前:<input type="text" name="name" value="<?php echo $name; ?>" > <?php echo $err_msg1; ?><br> コメント:<textarea name="comment" rows="4" cols="40"><?php echo $comment; ?></textarea> <?php echo $err_msg2; ?><br> <br> <input type="submit" name="send" value="書き込む" > </form> <div class = "msg"><?php echo $message; ?></div> <dl> <?php foreach( $dataArr as $data ):?> <p><hr> <div class = "name">名前:<?php echo $data["name"];?></div> <div class = "date"><?php echo $data["date"];?></div><br> <div class = "comment"><?php echo $data["comment"];?></div> </p> <?php endforeach;?> </dl> <p class = "credit"> Powered by Ari-net,Test ver. 2018. </p> </body> </html>