#!/usr/local/bin/ruby
# FILE: chain1.cgi
# => called by chain.html
require 'sdbm'
require 'cgi'
$SAFE = 2
cgi = CGI.new
session1 = Hash.new
print "Content-type: text/html\r\n\r\n"
print "
\r\n"
email = cgi.params["email"].to_s
if (email =~ /^[a-z0-9\@a-z\.a-z]+$/i)
email.untaint
session1["email"] = email
else
print "\
Only your transy email account for example yourname00@transy.edu"
exit
end
name = cgi.params["name"].to_s
if (name =~ /^[a-z\s]+$/i)
name.untaint
session1["name"] = name
else
print "\
Only alphabetic letters and spaces are permitted, please.
"
exit
end
partner = cgi.params["partner"].to_s
if (partner =~ /^[a-z\s]+$/i)
partner.untaint
session1["partner"] = partner
else
print "\
Just your partner's name
"
exit
end
dbname = email+".dbm"
#Testing:
print "Name: #{name}
"
print "email: #{email}
"
print "Partner: #{partner}
"
print "#{name}
"
print "Hello, #{name}
"
print "From hash Hello, #{session1["name"]}
"
print "From hash Partner: #{session1["partner"]}
"
print "#{dbname}
"
#Store the hash as database
SDBM.open(dbname) do
|dbm|
session1.each {
|key, value|
dbm[key] = value.to_s}
end
print ""
print ""