超初心者でも問題自己解決で速習WEBアプリケーションを作っていく問題集

前回の記事

プログラミング最初の一歩、超初心者向けにHTMLフォームの使い方を書いていく

微妙に反響がありましたので今回は、予告通り問題集を出します。

この章では最終的にスレッド式掲示板を作ります。

通常、初心者に教えるサイトってザックリとしたプログラムが書いてあったりして理解できないままの部分が出来てしまったりします。

HTMLのフォームだけでもこんなに語れるというのに(まだまだ書けそうw)

チェックボックスがあったり、いきなり装飾してあったりと本だと、限られたページ数ですのでそれが顕著です。ちょっとめくったら大規模になっていて諦めたりw

そこで自分でググりながら解決していく問題集を作りました。

なぜ問題集かというと僕が書くより既に詳しく丁寧なページは沢山あるし、そういった本も沢山出ているからです。

こういった資料にないのは順番だけだと思います。一気に飛びすぎないことが大事かなと思います。

ググるということは問題解決に至らなくても他の予備知識が備わるので非常にいい手段です。

あまりにも方向性がおかしくなっても仕方ないので、すこし補足でヒントだけ少し書いておきます。

すべて理解する頃にはTwitter、フェイスブック、WordPressがなんとなくどういう風になっているのか理解できたりすると思います。

ブログ、CMSなどはそれらしいものが出来たりします。

問1、フォームから受け取った値をファイル保存

値の受けとり方、最初に手を付ける部分なんでこれだけは一つの記事にしましたw

プログラミング最初の一歩、超初心者向けにHTMLフォームの使い方を書いていく

この記事が終えたらまったく触ったことない人は

http://usachannel.info/?tool

この辺を参考に出来そうなツールを作ってみるといいかもしれません。

問2、$name,$mail,$hageといった複数の値をファイル保存、表示

ここでは配列というものを使います。

問3、$no,$name,$mail,$hageのように保存、投稿数をナンバリングしてみる

$noはファイル内の配列の数を数えましょう。

記事は削除することもあることを頭に入れておきましょう。

問3、ナンバリングしたナンバーを使って、記事投稿、スレッドファイル作成しましょう

スレッドファイルとスレッドリストファイルという二つのファイルを作りましょう。

問1で使っていたファイルがスレッドリストファイルです。

リストファイルはなくてもできますが、あったほうが後々の操作が楽だと思います。

ファイルは驚くほど簡単にできます。作ったファイルは書き込みできるように各サーバーにあったパーミッションを設定することもお忘れなく

問4、スレッド内のファイルにも書き込みする

問1と同じことをスレ内でもやります。この辺りまできたら書き込み禁止機能のためにIP、UA、時間、編集パスも保存しときましょう。

time()

時間はtime()で保存しましょう。はじめから2017年/4月/20日20時20分20秒といった形式でファイルに保存してしまうと、時間規制などがやりにくくなります。

time()だとある時間から経過した秒数を取得します。1000000といった形式です。

表示の際には好きな形式にすればいいです。これがtime()を使うもう一つのメリットで表示の際に、違う形式 29.4/20/20:20:20/のようにしたくなったときにいくらでも訂正できます。

time — 現在の Unix タイムスタンプを返す

問5、スレッド内も表示

https://frontier.usachannel.info/?no=1

といった値をGETします。問2でやった表示と同じですが、それでファイルを呼び出し表示します。

問6、検索してみる

スレッドをタイトルで検索できる機能をつけてみましょう

問1でやった値の受け取りと比較を使います。

受け取った値が現れるまで比較を繰り返し、見つかったら比較の繰り返しを抜けます。

問7、新たに投稿があったスレッドをageる機能

ここでスレッドリストが役に立ちます。

投稿があったスレッドを検索して上に入れ替えます。

多次元配列の検索とファイル保存を使います。

問8、編集、削除

スレッド管理者や投稿者が編集削除できるようにします。

スレッド管理者が記事を削除するとスレッドが消えるようにします。

いずれも削除されたとき、これまでナンバリングはcountなどを使っていた場合、要素の数が変わりますので、スレッド内の場合「記事は削除されました。」などと表示を変えるだけにします。

問9、先頭に >あかさた と書かれた行だけ色を付ける

>あかさた

>>はまやら

>>>わおん

のような機能をつけてみる。

その他の機能を取り付ける

一定期間NEWマーク表示

今日昨日合計カウンター
ROM数表示機能

ID生成、IPから生成したりできます。

アンカー>>1

>>1-20でリンクして1から20番目までの記事を表示

独自タグ→テキストからタグやプログラムを実行できるようにする。

トリップ

スレッドに付いたレス数表示

ファイルアップロード

あぼーん機能付ける。見たくない投稿は表示されなくする

ここまでくれば自分で思いついた機能をつけれると思います。

もし質問があればどしどし受け付けて補足していきます!

では一緒に頑張りましょう!

シェアする

  • このエントリーをはてなブックマークに追加

フォローする