Newer
Older
skip-web / program / GiveMeALiftInYourCar / new_acount.rb
@MURAKAMI Masaki MURAKAMI Masaki on 21 May 2014 2 KB Updated
#!/usr/bin/env ruby
# coding: euc-jp

require 'sqlite3'
require 'cgi'

c = CGI.new(:tag_maker => "html4", :accept_charset => "EUC-JP")
sub_name = c["sub_name"]
pass = c["pass"]
# Check user visted this page.
visit = c["visit"]

#HTTPヘッダー
print("Content-type: text/html; charset=EUC-JP \n\n") 

db = SQLite3::Database.new("sql/acounts.sq3")
# sqlite_masterからテーブルを取得
sql_master = "SELECT name FROM sqlite_master;"
# acounts テーブルの設定
sql = "CREATE TABLE acounts (
sub_name TEXT PRIMARY KEY,
name TEXT,
address TEXT,
student_number TEXT,
password TEXT
);"
# sql_masterの実行結果をsqlite_masterに代入
sqlite_master = db.execute(sql_master)
x = 0
value_master = Array.new
sqlite_master.each {|line|
  value_master[x] = line
  x += 1
}

# テーブルが存在しなければテーブルを作成
check = 0
if !(value_master == [])
  for n in value_master[check]
    if n == "acounts"
      check += 1
      break
    end
  end
end
if check == 0
  db.execute(sql)
end
# HTML(入力フォーム)
# ヘッダー
print'
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
	"http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>アカウント作成 -koeki network-</title>
<style type="text/css">
<!-- 

-->
</style>
<link rel="stylesheet" type="text/css" href="group.css">
</head>
<div class="base">
<h1 ><img class="kn" src="koeki-network.png" alt="300x167(14204bytes)" width="300" height="120">
</h1>
<h2>あかうんと作成</h2>
<div class="bb">
'
# 入力データの確認
if sub_name > "" && pass > ""
# 入力データをデータベースと照合
  sql_check = "select sub_name from acounts where sub_name=?;"
  acounts = db.execute(sql_check, sub_name)
  if acounts == []
    # アカウントの追加
    sql_acount = "INSERT INTO acounts VALUES(?,'n','n','n',?);"
    db.execute(sql_acount, sub_name, pass)
    # アカウント作成成功時の画面
    print'
アカウントの作成に成功しました。<br>
下のリンクからログインして下さい。</p>
<a class="cont" href="./login.html">ログイン</a>
'
  else
    # アカウント作成失敗時(ユーザー名重複)
    print'
すでに使用されているユーザー名です。<br>
下のリンクから再度アカウント作成を行ってください.</p>
<a class="cont" href="./new_acount.rb">アカウント作成画面に戻る</a>
'
  end
else
  if visit > ""
    print'<p class="caution">入力されてない項目があります!</p>'
  end
# 入力画面
print'
<form method="POST" action="./new_acount.rb">
<p>
<table>
<tr><th>ユーザー名:</th> <td><input class="mgn_2" name="sub_name" type="text" maxlength="12"></td></tr>
<tr><th>パスワード:</th> <td><input class="mgn_2" name="pass" type="password" maxlength="12"></td></tr>
</table>
<input name="visit" type="hidden" value="visited">
<input type="submit" value="OK">
<input type="reset" value="reset"><br>
</p>
'
end

db.close

# フッダー
print'
<hr>
<a href="./login.html">ログイン画面に戻る</a><br>
</div>
<hr>
<address>c112124&#x40;h.koeki-u.ac.jp</address>
<div>
</body>
</html>
'