第 10 回 ことおぼえ レポート課題 氏名: 安藤 夏海 学籍番号: c1100130 語学クラス: 英語2 ロシア語 コース(系): 環境サイエンスコース 1. 筆記問題 pstore を使った CGI の使い方について、前々回、前回を参考に、ファイル名などを使いながら自分の言葉で解説せよ。 ---------------------------------------------------- pstore 専用ディレクトリを作成することで、自分以外の第3者も、書きこむことができるようになる。 訪問者にディレクトリの全てに書き込みを許可してしまうと 万が一侵入者であった場合、全てを破壊され可能性がある。 そのため、データベース専用のディレクトリを作成し、 cgirubyの下に pstore ディレクトリにのみ、第三者書き込みを可能とする。 ---------------------------------------------------- 2. プログラム問題 公開ページ http://roy/~c110013/advertise2/rubycgi/r2_cgi_best.html 作成した CGI プログラム 1. CGI時間割 html ================ 時間割

logo

〜 2011年 後期セメスター 〜


学籍番号 :

氏名 : XXXXXXXXX

政策マネジメントコース 地域共創コース 社会福祉コース 環境サイエンスコース







--- 月曜日 火曜日 水曜日 木曜日 金曜日 土曜日
1限
2時限
3時限
4時限
5時限 ---



戻る

================================== rb ================================== #!/usr/koeki/bin/ruby $KCODE = 'e' # 日本語表示 require 'cgi' # CGI使用宣言 cgi = CGI.new("html4") print("Content-type: text/html; charset=EUC-JP\n\n") # 日本語定義 na = cgi["name"] c = cgi["number"] # 学籍番号をとる kei = cgi["sentaku"] # コースの選択 ge1 = cgi["mon1"] ge2 = cgi["mon2"] ge3 = cgi["mon3"] ge4 = cgi["mon4"] ge5 = cgi["mon5"] ka1 = cgi["tue1"] ka2 = cgi["tue2"] ka3 = cgi["tue3"] ka4 = cgi["tue4"] ka5 = cgi["tue5"] sui1 = cgi["wed1"] sui2 = cgi["wed2"] sui3 = cgi["wed3"] sui4 = cgi["wed4"] sui5 = cgi["wed5"] mo1 = cgi["thu1"] mo2 = cgi["thu2"] mo3 = cgi["thu3"] mo4 = cgi["thu4"] mo5 = cgi["thu5"] ki1 = cgi["fri1"] ki2 = cgi["fri2"] ki3 = cgi["fri3"] ki4 = cgi["fri4"] ki5 = cgi["fri5"] print("\n") print("\n") print("時間割\n") print("\n") print("\n") print("\n") print("

CGIシラバス

\n") print("

〜 2011年 後期時間割 〜

\n") printf("

学籍番号: %s

\n", c) printf("

氏名: xxxxxxxx %s

\n", na) printf("

コース: %s

\n", kei) print("\n") print("
\n") # \n", ge1, ka1, sui1, mo1, ki1) printf("\n", ge2, ka2, sui2, mo2, ki2) printf("\n", ge3, ka3, sui3, mo3, ki3) printf("", ge4, ka4, sui4, mo4, ki4) printf("
---月曜日火曜日水曜日木曜日金曜日
は見出し項目 printf("
1時限%s%s%s%s %s
2時限%s%s%s%s %s
3時限%s%s%s%s %s
4時限%s%s%s%s %s
5時限%s%s%s%s %s\n", ge5, ka5, "---", mo5, ki5) print("
\n") print("

戻る

\n") print("\n") print("\n") ====================================== css ====================================== BODY { background-image : url("pr.jpg"); background-attachment: fixed; background-position:100% 0%; background-repeat: no-repeat; background-color:#F5A9F2; } p1 {color: #ff00ff; text-align: center} th {background-color:#F781F3; color:black;} td {background-color:#CEE3F6; color:black; text-align:center;} ==================================================================== 2. 掲示板 html ===================================== BoarD

BoarD

  • 書込みを見る

  • name :

    性別 : 男性 女性 ???

    comment :


    comment color :


    評価:



    c110013@koeki-u.ac.jp
    ================================================= rb ================================================= #!/usr/bin/env ruby require "cgi" require "pstore" myname = "board.rb" c = CGI.new("html4") item = c["item"] cmt = c["comment"] star = c["st"] sex = c["sex"] FILENAME = "bbs1.log" MAXLOG = 15 log = [] time = Time.now # 時刻を保持するTimeクラス代入。nowは現時刻 edit_item = ARGV[0].to_s # 修正モードの場合の修正項目名 oldcomment = "" # 修正モードの場合の既存コメント VIEW = 15 print 'Content-type: text/html; charset=EUC-JP BoarD

    BoarD

    ' # HTTPヘッダ db = PStore.new("database") db.transaction do # PStoreは db.transaction do ... end で使う if !db["root"] db["root"] = Hash.new end data = db["root"] if item >"" && cmt > "" # 名前とコメント、両方値があるなら登録 data[item] = [time,cmt,star,sex] # 今日の日付とコメント end if edit_item > "" && data[edit_item] oldcomment = data[edit_item][1] end # フォーム出力 printf("\n", myname) print '

    name :

    comment:


    評価:

    性別 : 男性 女性 ???



    ' # 既存のコメント出力(キー毎) print "
    \n" # 定義環境開始 for i in data.keys.sort{|x, y| data[y][0] <=> data[x][0] # 日付の新しい順にソート } day = data[i][0] # 第0要素が日付 msg = data[i][1] # 第1要素がコメント、それぞれ取り出す str = data[i][2] sex = data[i][3] # mycgi を出力 printf("

    %s

    \n", myname, i, i) printf('
    %s

    ', msg) printf('
    評価 : %s
    ',str) printf('
    sex : %s
    ',sex) printf("
    day : %s
    \n", day.strftime("%Y/%m/%d")) end print "
    \n" # 定義環境終了 end # db.transaction 終わり print "
    c110013@koeki-u.ac.jp
    \n" ============================================= css ============================================= ============================================================================ 実行結果 時間割 CGIシラバス 〜 2011年 後期時間割 〜 学籍番号: c110013 氏名: xxxxxxxx コース: --- 月曜日 火曜日 水曜日 木曜日 金曜日 1時限 --- アジアを知ろう --- 持続的農林業概論 --- 2時限 環境情報解析 --- --- 英語VII リスニング 2 エコ・マネジメント 3時限 基礎プログラミングII A 英語VIII リーディング 2 --- 文学を楽しむ --- 4時限 --- --- ロシア語4(2010) 環境サイエンスと公益 政策マネジメントと公益 5時限 経営管理論 キャリアと人生 --- --- --- 戻る =============================================== 掲示板 aaa aaaa 評価 : ★★★★★ sex : day : 2011/12/06 S こんちわ! 評価 : ★★★ sex : day : 2011/12/06 カーチャ 遊びに来てみた(笑) 評価 : ★★★★ sex : day : 2011/12/05 ================================================= 4. 感想 最高傑作を何度も作るのは難しいと思った。 去年の先輩の作品を見たかったのですが、 LINKが切れていたため見ることができませんでした。 あと、前回のレポート(>>)の件に関してなのですが、 ご指摘ありがとうございました。 >> に引用の意味があるとは知らなかったので、 また、送ったメールを後で自分で見返す際、色が変化して見やすかったため、 >> を多用してしまいました。 また何かございましたら、ご指摘下さい。 できる限り改善したいと思います。 ================================================== ------------------------ 東北公益文科大学2年 安藤夏海 Ando Natsumi c110013@f.koeki-u.ac.jp ------------------------