phpの勉強 掲示板 サンプルテンプレート覚え書き!

remoteworkgirl Programming

サワディークラップ(タイ語でこんにちは)

タイが好きで普段タイのチェンマイでノマドライフを楽しんでいるtoshiです。

プログラミングの勉強を始めていますが、難しいですね。時々挫折しそうになります。

でも理解できると面白いので頑張んて勉強しているところです。

今日は掲示板を作るためのサンプルコードを一通り打ってみましたので、メモしておいて何度も見ながらタイピングして体で覚えこんでしまおうと考えているところです。

この型を意味を考えながら何度もタイピングして、覚えこんでしまおうと思っています。

今回は簡単なテキストへのデータの書き込みですが、データベースへの書き込みも同時に覚えたいと思っています。

cssの実装はそれからです。まずは、phpの動きを把握したいと思います。

サンプル練習コード

<?php
// メッセージ保存ファイルパス
define( 'FILENAME', './message.txt');
// タイムゾーン
date_default_timezone_set('Asia/Tokyo');
// 変数の初期化 意図しない動作を防ぐためのもの
$now_date = null;
$data = null;
$file_handle = null;
//dataを配列に格納してゆく
$split_data = null;
$message = array();
$message_array = array();
//投稿完了メッセージを出す処理
$success_message = null;
$error_message = array();
$clean = array();
if( !empty($_POST['btn_submit']) ) {
 // 表示名入力チェック
 if( empty($_POST['view_name']) ) {
 $error_message[] = 'Please enter your name';
 } else {
 $clean['view_name'] = htmlspecialchars( $_POST['view_name'], ENT_QUOTES);
 }
 // メッセージ入力チェック
 if( empty($_POST['message']) ) {
 $error_message[] = 'Please enter a message';
 } else {
 $clean['message'] = htmlspecialchars( $_POST['message'], ENT_QUOTES);
 $clean['message'] = preg_replace( '/\\r\\n|\\n|\\r/', '<br>', $clean['message']);
 }
 if( empty($error_message) ) {
 if( $file_handle = fopen( FILENAME, "a") ) {
  // 書き込み日時
 $now_date = date("Y-m-d H:i:s");
 // 書き込むデータ
 $data = "'".$clean['view_name']."','".$clean['message']."','".$now_date."'\n";
 // 書き込み
 fwrite( $file_handle, $data);
 // ファイルを閉じる
 fclose( $file_handle);
 $success_message = 'Input message completed';
 }
 }
}
if( $file_handle = fopen( FILENAME,'r') ) {
while( $data = fgets($file_handle) ){
 $split_data = preg_split( '/\'/', $data);
 $message = array(
 'view_name' => $split_data[1],
 'message' => $split_data[3],
 'post_date' => $split_data[5]
 );
 array_unshift( $message_array, $message);
 }
// ファイルを閉じる
fclose( $file_handle);
}
?>
<!DOCTYPE html>
<html lang="ja">
<head>
<meta charset="utf-8">
<title>Cafe spot bulletin board</title>
<style>
//掲示板のデザインを整えるcss
</style>
</head>
<body>
<h1>Cafe spot bulletin board</h1>
<?php if( !empty($success_message) ): ?>
<p class="success_message"><?php echo $success_message; ?></p>
<?php endif; ?>
<?php if( !empty($error_message) ): ?>
<ul class="error_message">
 <?php foreach( $error_message as $value ): ?>
<li>・<?php echo $value; ?></li>
 <?php endforeach; ?>
</ul>
<?php endif; ?>
<form method="post">
 <div>
 <label for="view_name">Name</label>
 <input id="view_name" type="text" name="view_name" value="">
 </div>
 <div>
 <label for="message">Message</label>
 <textarea id="message" name="message"></textarea>
 </div>
 <input type="submit" name="btn_submit" value="input">
</form>
<hr>
<section>
<?php if( !empty($message_array) ){ ?>
<?php foreach( $message_array as $value ){ ?>
<article>
<div class="info">
<h2><?php echo $value['view_name']; ?></h2>
<time><?php echo date('Y.m.d H:i', strtotime($value['post_date'])); ?></time>
</div>
<p><?php echo $value['message']; ?></p>
</article>
<?php } ?>
<?php } ?>
</section>
</body>
</html>
php
簡単な掲示板が出来ました

phpの勉強は面白いです。データーベースを自由に扱えるようになったら本当に楽しいでしょうね。

プログラミングをマスターしたいですね。でも独学だと時間がかかる事は間違いありません。

早くプログラマーになって仕事をしたいなら、オンラインのスクールに申し込んでみるのも一つの方法です。短時間でマスターするためにはオンラインで受講できるプログラミング講座はおススメです。無料体験レッスンをするならCodeCampがおススメです!


頑張ります。( ´∀`)つ

コメント

  1. Great post. I was checking continuously this blog and I am impressed!
    Very helpful information specially the last
    part 🙂 I care for such info a lot. I was seeking this certain info for a long time.
    Thank you and best of luck.

Translate »