#!/usr/bin/perl # Copyright (c) GNA Inc. 2003 # Do not remove copyright notice. # Customized for Japanese Shift_JIS encoding. # Note on naming convention: # Variables in ALL_CAPS are global variables # use CGI; use DBI; #--20040210 Add-- # Global Path Variables $SENDMAIL_COMMAND='/usr/sbin/sendmail -t -i'; $DATA_DIRECTORY='../cgidata/'; $ACTION_URL=$ENV{'SCRIPT_NAME'}; # grab file name without extension ($ACTION_SHORT_NAME)=$ACTION_URL=~/\/([^\/]+)?\.\w*$/; $DATA_FILE="$DATA_DIRECTORY/$ACTION_SHORT_NAME.csv"; $CGI_QUERY=new CGI; #--20040301 Add-------------------------- # domain.cgi(whois検索) からドメイン名を受け取る $dname=$CGI_QUERY->param('dname'); @exts=('.com','.net','.org','.biz','.info','.cc','.to','.co.jp','.or.jp','.ne.jp','.gr.jp','.jp'); foreach $ext (@exts) { if ($dname=~/$ext$/) { $dname0=$dname; $dname0=~s/$ext$//; $dname1=$ext; last; } } # BEGIN HTML DATA $WEBFORM_HEAD=<<'__END_OF_WEBFORM_HEAD__'; JPホスト-お申込フォーム
 オンラインお申込フォーム

下記お申込フォームに必要事項をご記入の上、次の画面にお進みください赤字の項目は必須項目です。

__END_OF_WEBFORM_HEAD__ $WEBFORM_BODY=<<'__END_OF_WEBFORM_BODY__';
■ お申込サービスを入力してください。

ドメイン

 

 新しいドメインを取得します 
http://www. __END_OF_WEBFORM_BODY__ #--20040301 Add-------------------------- $WEBFORM_BODY.="\n"; $WEBFORM_BODY.=""; $WEBFORM_BODY.=<<'__END_OF_WEBFORM_BODY__';

半角英小文字、数字、ハイフン(-)、(3〜63文字以内)

※ 新規取得希望ドメイン名をご記入ください
 既に取得済みのドメインを移設します
http://www.

半角英小文字、数字、ハイフン(-)、(3〜63文字以内)
※ 既に取得済みのドメイン名をご記入ください
プラン名  
※ とりあえずドメインは、12ヶ月契約のみとなります。
ご契約期間  
※ 最低契約期間は6ヶ月となっております。
お支払方法 銀行振込     自動振替
同時にオプションサービスをお申込いただく場合は、こちらもご記入ください。
ショッピングカート
データベース
独自SSL認証
検索エンジン登録代行

■ お客様情報を入力してください。
契約種別
法人 個人
法人でお申込みの場合ご記入ください。個人でお申込みの場合は不要です。
会社名/団体名

全角 例) 株式会社ジーエヌエー
会社名/団体名(ふりがな)

全角ひらがな 例) かぶしきがいしゃじーえぬえー
会社名/団体名(英語)

半角英字 例) GNA, Inc.
代表者名
全角 例) ウェブ太郎
代表者名(ふりがな)
全角ひらがな 例) うぇぶたろう
代表者名(英語)
半角英字 例) Web, Taro
担当部署名 全角 例) インターネット事業部
業種
以下、全てのお客様がご記入ください。
氏名(担当者名) 全角 例) ウェブ花子
氏名(ふりがな) 全角ひらがな 例) うぇぶはなこ
氏名(英語) 半角英字 例) Web, Hanako
郵便番号 - 半角数字 例) 100-0000
住所
全角 例) 東京都千代田区○○1-1
都道府県(英文) 半角英字 例) Tokyo
市町村(英文) 半角英字 例) Chiyodaku
建物名・番地(英文) 半角英字 例) 1-1, ○○
電話番号 半角数字 例) 03-0000-0000
FAX番号 半角数字 例) 03-0000-0000
Eメールアドレス 半角英小文字 例) info@jphost.com
Eメールアドレス(確認) ※確認のため再度ご入力ください
※属性型ドメイン(co.jp/or.jpなど)新規取得ご希望の場合のみ記入ください。
登記地住所

全角 例) 東京都千代田区○○1-1
※登記簿に記載されている住所をご記入ください
登記年月日

半角数字 例) 1997年1月1日

■ 備考欄
その他、ご要望、確認事項がございましたら、こちらにご記入ください。

■ 最後にアンケートにご協力ください。
当サービスをどこでお知りになりましたか?

内容を再度ご確認の上、次の画面にお進みください

__END_OF_WEBFORM_BODY__ $WEBFORM_TAIL=<<'__END_OF_WEBFORM_TAIL__';

__END_OF_WEBFORM_TAIL__ $ACKNOWLEDGE_HTML0=<<'__END_OF_ACKNOWLEDGE_HTML0__'; 送信完了
 オンライン お申込申請フォーム


JPホスト ホスティングサービスへお申込いただき、誠にありがとうございます。

内容を確認させていただき、担当よりEメールにてご確認の連絡をさせていただきます。

不明な点がございましたら、何なりとお問い合せ下さい。
今後ともよろしくお願い申し上げます。

お問合せは下記までお気軽にどうぞ

電話サポート

098-972-2302  (平日10時〜18時)
FAXサポート 098-972-2304  (24時間受付)
Eメールサポート

 info@jphost.com

__END_OF_ACKNOWLEDGE_HTML0__ $ACKNOWLEDGE_HTML1=<<'__END_OF_ACKNOWLEDGE_HTML1__';

__END_OF_ACKNOWLEDGE_HTML1__ $JAVASCRIPT_CONFIRM=<<'__JAVASCRIPT_CONFIRM__'; __JAVASCRIPT_CONFIRM__ # END HTML DATA %FORM_TAG=( 'method'=>'post' ); $USE_CONFIRM_PAGE=1; # 0=no 1=yes $CONFIRM_CAPTION='

以上の内容でよろしければ「完了」ボタンを押してください

 

'; $USE_JAVASCRIPT=1; # 0=no 1=yes @FORM_ELEMENTS=( { 'name'=>'ドメイン', 'type'=>0 }, { 'name'=>'新規ドメイン名', 'type'=>0 }, { 'name'=>'新規ドメイン種類', 'type'=>0 }, { 'name'=>'取得済ドメイン名', 'type'=>0 }, { 'name'=>'取得済ドメイン種類', 'type'=>0 }, { 'name'=>'プラン名', 'type'=>0 }, { 'name'=>'契約期間', 'type'=>0 }, { 'name'=>'支払方法', 'type'=>0 }, { 'name'=>'OP_ショッピングカート', 'type'=>0 }, { 'name'=>'OP_データベース', 'type'=>0 }, { 'name'=>'OP_独自SSL', 'type'=>0 }, { 'name'=>'OP_検索登録', 'type'=>0 }, { 'name'=>'契約種別', 'type'=>0 }, { 'name'=>'会社名/団体名', 'type'=>0 }, { 'name'=>'会社名/団体名(ふりがな)', 'type'=>0 }, { 'name'=>'会社名/団体名(英語)', 'type'=>0 }, { 'name'=>'代表\者名', 'type'=>0 }, { 'name'=>'代表\者名(ふりがな)', 'type'=>0 }, { 'name'=>'代表\者名(英語)', 'type'=>0 }, { 'name'=>'部署名', 'type'=>0 }, { 'name'=>'業種', 'type'=>0 }, { 'name'=>'名前(担当者)', 'type'=>1, 'min'=>1, 'max'=>100, 'msg'=>'氏名(担当者名)は必ず入力してください' }, { 'name'=>'名前(ふりがな)', 'type'=>1, 'min'=>1, 'max'=>100, 'msg'=>'氏名(ふりがな)は必ず入力してください' }, { 'name'=>'名前(英語)', 'type'=>1, 'min'=>1, 'max'=>100, 'msg'=>'氏名(英語)は必ず入力してください' }, { 'name'=>'郵便番号', 'type'=>0, 'min'=>1, 'max'=>3, 'msg'=>'郵便番号は必ず入力してください' }, { 'name'=>'郵便番号2', 'type'=>1, 'min'=>1, 'max'=>4, 'msg'=>'郵便番号は必ず入力してください' }, { 'name'=>'住所', 'type'=>1, 'min'=>1, 'max'=>200, 'msg'=>'住所は必ず入力してください' }, { 'name'=>'都道府県(英文)', 'type'=>1, 'min'=>1, 'max'=>200, 'msg'=>'都道府県(英文)は必ず入力してください' }, { 'name'=>'市町村(英文)', 'type'=>1, 'min'=>1, 'max'=>200, 'msg'=>'市町村(英文)は必ず入力してください' }, { 'name'=>'建物名・番地(英文)', 'type'=>1, 'min'=>1, 'max'=>200, 'msg'=>'建物名・番地(英文)は必ず入力してください' }, { 'name'=>'TEL', 'type'=>1, 'min'=>1, 'max'=>20, 'msg'=>'「電話番号」は必ず入力してください' }, { 'name'=>'FAX', 'type'=>0 }, { 'name'=>'E-MAIL', 'type'=>5, 'msg'=>'Eメールアドレスは必ず入力してください ' }, { 'name'=>'E-MAIL(確認)', 'type'=>5, 'msg'=>'Eメールアドレス(確認)は必ず入力してください' }, { 'name'=>'登記住所', 'type'=>0 }, { 'name'=>'登記年', 'type'=>0 }, { 'name'=>'登記月', 'type'=>0 }, { 'name'=>'登記日', 'type'=>0 }, { 'name'=>'備考', 'type'=>0 }, { 'name'=>'アンケート', 'type'=>0 } ); $DEFAULT_ERROR_MESSAGE='もう一度入力項目を確認し、再入力してください。'; $SEND_NOTIFICATION = 1; @NOTIFY_MAILTO=('order@jphost.com'); $NOTIFY_FROM='"order@jphost.com" '; #@NOTIFY_MAILTO=('takane@gnajp.com'); #$NOTIFY_FROM='"takane@gnajp.com" '; $NOTIFY_SUBJECT='=?iso-2022-jp?B?GyRCJCo/PTl+JVUlKSE8JWAbKEIoGyRCPzc1LCUrJTklPyVeITwbKEIp?='; $NOTIFY_MESSAGE=<<'__END_OF_MESSAGE__'; ------------------------------------ 新規お申込みがありました ------------------------------------ --=DATAENTRY=-- __END_OF_MESSAGE__ $RESPONDER=2; $RESPONDER_MAILTO_FIELD='E-MAIL'; $RESPONDER_FROM='"order@jphost.com" '; $RESPONDER_SUBJECT='=?iso-2022-jp?B?GyRCIVojSiNQJVslOSVIISElWyU5JUYlIyVzJTAlNSE8JVMlOSFbJCo/PTl+TS1GcSQmJDQbKEI=?= =?iso-2022-jp?B?GyRCJDYkJCReJDkbKEI=?='; $RESPONDER_MESSAGE=<<'__END_OF_MESSAGE__'; ------------------------------------------------------ このメールは「JPホスト」より自動的に送信されています ------------------------------------------------------ この度は【JPホスト ホスティングサービス】へ お申込いただき、誠にありがとうございます。 今回お申込いただいた内容は以下の通りです。 内容のご確認をお願い致します。 -------------------------------------------- --=DATAENTRY=-- -------------------------------------------- のちほど、担当よりEメールにてご連絡させていただきます。 不明な点がございましたら、何なりとお問い合せ下さい。 今後ともよろしくお願い申し上げます。 ━━━━━━━━━━━━━━━━━━━━━━ GNA, Inc. ホスティング部 http://jphost.com 【ホスティングサービス】 http://gna.jp  【株式会社ジーエヌエー】 tel : 098‐972-2302 fax : 098-972-2304 email : info@jphost.com ━━━━━━━━━━━━━━━━━━━━━━ __END_OF_MESSAGE__ $SAVE_DATA_STATE=2; # 0=none 1=input only 2=all data # set cookie according to file name $COOKIE_NAME="FM_$ACTION_SHORT_NAME"; # only allow alphanum + underbar _ $COOKIE_NAME=~s/\W/_/g; %COOKIE_DATA = $CGI_QUERY->cookie($COOKIE_NAME); %COOKIE_DATA=() unless (defined %COOKIE_DATA); $CURRENT_DATE=&GetDate; $COOKIE_DATA{'LastVisit'}=$CURRENT_DATE; # CONSTANT %HTML_ESC_TABLE=( '<'=>'<', '>'=>'>', '&'=>'&', '"'=>'"', "\r"=>' ', "\n"=>' ' ); $ACCEPTS_COOKIES=1; # Variables used only in Main Logic block # BEGIN LOCAL my($errorMessage,$confirm,$saveOK); # END LOCAL #===================================================== # BEGIN MAIN LOGIC BLOCK #===================================================== # $confirm : 0=not yet submitted # 1=final confirmation # 2=confirmation required $confirm=$CGI_QUERY->param('__CONFIRM__')+0; # +0 forces numeric if($confirm>0) { # data was submitted # check input is valid $errorMessage=&CheckInput; if($errorMessage eq '') { #input valid # check if user accepted first cookie. unless(defined $COOKIE_DATA{'FirstVisit'}) { $ACCEPTS_COOKIES=0; } if($confirm==2) { # confirmation requred &PostHeader; &PostConfirmPage; } else { if($ACCEPTS_COOKIES==1) { if(defined $COOKIE_DATA{'Submitted'}) { $COOKIE_DATA{'Submitted'}++; } else { $COOKIE_DATA{'Submitted'}=1; } } $saveOK=1; if($SAVE_DATA_STATE>0) { $saveOK =&SaveData; } #--20040210 Add-------------------------- $saveDBOK = &SaveDB; if($SEND_NOTIFICATION==1) { &SendNotification($saveOK,$saveDBOK); } if($RESPONDER==1) { $RESPONDER_FROM=$NOTIFY_FROM; $RESPONDER_SUBJECT=$NOTIFY_SUBJECT; $RESPONDER_MESSAGE=$NOTIFY_MESSAGE; } if($RESPONDER>0) { &SendAutoResponse; } &PostHeader; print $ACKNOWLEDGE_HTML0; #--20040210 Add--------------------------------# $newID=$sth->{'mysql_insertid'}; ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time); $year=$year+1900; $mon=$mon+1; $ts=$year.sprintf("%02d",$mon).sprintf("%02d",$mday).sprintf("%02d",$hour).sprintf("%02d",$min).sprintf("%02d",$sec); #print "\n"; print $ACKNOWLEDGE_HTML1; } } else { #input invalid &PostHeader; &PostForm($errorMessage); } } else { unless(defined $COOKIE_DATA{'FirstVisit'}) { $COOKIE_DATA{'FirstVisit'}=$CURRENT_DATE; } #input invalid &PostHeader; &PostForm; } exit; sub PostHeader { my($cookie)=undef; if($ACCEPTS_COOKIES==1) { unless(defined $COOKIE_DATA{'FirstVisit'}) { $COOKIE_DATA{'FirstVisit'}=$CurrentDate; } unless(defined $COOKIE_DATA{'Submitted'}) { $COOKIE_DATA{'Submitted'}=0; } $cookie = $CGI_QUERY->cookie(-name=>$COOKIE_NAME,-value=>\%COOKIE_DATA,-path=>'/',-expires=>'+1y',-secure=>0); } print $CGI_QUERY->header(-charset=>'Shift_JIS',-type=>'text/html',-cookie=>$cookie); } sub PostForm { my($err)=shift; my($key); print $WEBFORM_HEAD; if(defined $err) { print $err; } else { if($USE_JAVASCRIPT==1) { print $JAVASCRIPT_CONFIRM; $FORM_TAG{'onSubmit'} = "if(!FM_Confirm(this)){return false;}". $FORM_TAG{'onSubmit'}; } print "
"; print $WEBFORM_BODY; } print $WEBFORM_TAIL; } sub PostConfirmPage { my ($obj,$name,$value,@tmp); my ($row)=1; print $WEBFORM_HEAD; print ""; print "\n\n\n"; foreach $obj (@FORM_ELEMENTS) { if($obj->{'type'}<0) { next; } $name = $obj->{'name'}; @tmp = $CGI_QUERY->param($name); if(defined(@tmp)) { $value=HTMLEscape(\@tmp); # joins values in HTML Escaped string } else { $value=''; } print "\t\n\t\t\n", "\t\t\n\t\n"; $row++; } print "\t\n\t\t\n\t\n
$CONFIRM_CAPTION
$name", ($value =~ /\S/? $value:' '), "
"; foreach $obj (@FORM_ELEMENTS) { $name = $obj->{'name'}; @tmp = $CGI_QUERY->param($name); if(defined (@tmp) && scalar(@tmp)>0) { foreach $value (@tmp) { print ""; } } } print "    ", "
\n
"; print $WEBFORM_TAIL; } sub CheckInput { my $q=$CGI_QUERY; # short for convenience my $errmsg=''; my $useDefaultErr=0; my ($min,$max,$val,@vals,$obj); foreach $obj (@FORM_ELEMENTS) { my $e=0; if($obj->{'null'}==1) { $val=$q->param($obj->{'name'}); if($val!~/./) { next; } } # Text Validation (length of text) if($obj->{'type'}==1) { $val=$q->param($obj->{'name'}); $e=NumberCheck($obj,length($val)); } # Integer Validation elsif($obj->{'type'}==2) { $val=$q->param($obj->{'name'}); if($val!~/^\d+$/) { $e=1; } else { $e=NumberCheck($obj,$val); } } # Number Validation elsif($obj->{'type'}==3) { $val=$q->param($obj->{'name'}); if($length==0 || $val!~/^\d*(\.\d+){0,1}$/) { $e=1; } else { $e=NumberCheck($obj,$val); } } # YEN Validation elsif($obj->{'type'}==4) { $val=$q->param($obj->{'name'}); $val=~s/^\\//; if($length==0 || $val!~/^\d+$/) { $e=1; } else { $e=NumberCheck($obj,$val); } } # Email Validation elsif($obj->{'type'}==5) { $val=$q->param($obj->{'name'}); if($val!~/^(?:[\x21-\x2B\x2D-\x3F\x41-\x7E])+\@(?:[A-Za-z0-9\-]+\.)+(?:[A-Za-z]){2,}$/) { $e=1; } } # URL Validation elsif($obj->{'type'}==6) { $val=$q->param($obj->{'name'}); if($val!~/^(http(s)?:\/\/)?([\w\-]+\.)+\w+(:\d+)?(\/.*)*$/) { $e=1; } } # Telephone (JP) elsif($obj->{'type'}==7) { $val=$q->param($obj->{'name'}); if(length($val)==12) { if($val!~/^\d{2,5}\-\d{1,4}\-\d{4}$/) { $e=1; } } elsif(length($val)==13) { if($val!~/^\d{3}\-\d{4}\-\d{4}$/) { $e=1; } } else { $e=1; } } # Zipcode (JP) elsif($obj->{'type'}==8) { $val=$q->param($obj->{'name'}); if($val!~/^\d{3}\-\d{4}$/) { $e=1; } } # Other than check (for dropdown boxes w/ first selection being "--Make a Selection--") elsif($obj->{'type'}==9) { $val=$q->param($obj->{'name'}); if($val eq $obj->{'otherthan'}) { $e=1; } } # Values check (count how many choices user made) elsif($obj->{'type'}==10) { @vals=$q->param($obj->{'name'}); $val=scalar(@vals); $e=NumberCheck($obj,$val); } if($e==1) { if(defined $obj->{'msg'}) { $errmsg.=$obj->{'msg'} . "
\n"; } $useDefaultErr=1; } } if($useDefaultErr==1) { $errmsg.=$DEFAULT_ERROR_MESSAGE; } return($errmsg); } sub SendNotification { ($saveOK,$saveDBOK)=@_; my %mail=('From'=>$NOTIFY_FROM, 'To'=>\@NOTIFY_MAILTO, 'Subject'=>$NOTIFY_SUBJECT ); my $msg=''; if($saveDBOK==0) { $msg.=<<'__WARN__'; ************************************************************* ******************* データベース保存エラー ****************** ************************************************************* データを保存するのに失敗しました 入力データに問題がある場合があります NOTE: この警告は自動的にお客様へ送信されることはありません ************************************************************* __WARN__ } if($saveOK==0) { $msg.=<<'__WARN__'; ************************************************************* ********************** データ保存エラー ********************** ************************************************************* __WARN__ $msg.=$DATA_FILE; $msg.=<<'__WARN__'; にデータを保存するのに失敗しました ファイルが存在し、書き込みが可能であることを確認してください NOTE: この警告は自動的にお客様へ送信されることはありません ************************************************************* __WARN__ } $msg.=$NOTIFY_MESSAGE; AddMessageData(\$msg); $mail{'Body'}=\$msg; SendMail(\%mail); } sub SendAutoResponse { my %mail=('From'=>$RESPONDER_FROM, 'To'=>[$CGI_QUERY->param($RESPONDER_MAILTO_FIELD)], 'Subject'=>$RESPONDER_SUBJECT ); my $msg=$RESPONDER_MESSAGE; AddMessageData(\$msg); $mail{'Body'}=\$msg; SendMail(\%mail); } sub AddMessageData { my $msg=shift; my $data=''; my($obj); foreach $obj (@FORM_ELEMENTS) { $name=$obj->{'name'}; @vals=$CGI_QUERY->param($name); $data.="$name: " . join(';',@vals) . "\n"; } $$msg=~s/--=DATAENTRY=--/$data/i; } sub SendMail { require 'jcode.pl'; my $mobj=shift; my $mailCmd =$SENDMAIL_COMMAND; $mailCmd=~s/\$FROM/$mobj->{'From'}/gi; if($mailCmd=~/\$TO/i) { my $to=join(" ",@{$mobj->{'To'}}); $mailCmd=~s/\$TO/$to/gi; } &jcode'convert($mobj->{'Body'}, 'jis','sjis'); open MAIL, "|$mailCmd" || return; print MAIL "To: ", join(",\n\t",@{$mobj->{'To'}}),"\n", "From: ", $mobj->{'From'}, "\n", "Reply-To: ", $mobj->{'From'}, "\n", "Subject: ",$mobj->{'Subject'} ,"\n", # put additional mail headers here (such as encoding : default is iso-2022-jp/7bit) "MIME-Version: 1.0\n", "Content-Type: text/plain;\n\tcharset=\"iso-2022-jp\"\n", "Content-Transfer-Encoding: 7bit\n", "\n", ${ $mobj->{'Body'} }; close(MAIL); } sub SaveData { my($obj,$val,@vals,$sz,$comma); use Fcntl qw/:flock/; $sz=(-s $DATA_FILE)+0; unless(open OUT, ">>$DATA_FILE") { return 0; } for(my $i=0;$i<10;$i++) { if(flock(OUT,LOCK_EX|LOCK_NB)) { last; } } seek(OUT,0,2); if($sz==0) { # If file is new, add element names to header. if($SAVE_DATA_STATE==2) { print OUT '"リモートアドレス","ブラウザ","日付","初回訪問日","送信回数",'; } print OUT join(",", map { $val=$_->{'name'}; $val=~s/(?:\r\n|\n)/\r/g; $val=~s/\"/\"\"/g; $val='"'.$val.'"' if($val=~/[^\w\.]/); $val; }@FORM_ELEMENTS), "\n"; } if($SAVE_DATA_STATE==2) { my($first,$submit); if($ACCEPTS_COOKIES==0) { $first=$CURRENT_DATE; $submit=0; } else { $first=$COOKIE_DATA{'FirstVisit'}; $submit=$COOKIE_DATA{'Submitted'}; } print OUT $ENV{'REMOTE_ADDR'},",",$ENV{'HTTP_USER_AGENT'}, ",", $CURRENT_DATE, ",",$first, ",",$submit, ","; } $comma=0; foreach $obj (@FORM_ELEMENTS) { if($comma==1) { print OUT ","; } $comma=1; @vals=$CGI_QUERY->param($obj->{'name'}); if(defined @vals) { $val=join(';',@vals); $val=~s/(?:\r\n|\n)/\r/g; $val=~s/\"/\"\"/g; $val='"'.$val.'"' if($val=~/[^\w\.]/); } else { $val=''; } print OUT $val; } print OUT "\n"; flock(OUT,LOCK_UN); close(OUT); } sub GetDate { my(@gmt)=gmtime(); # Format YYYY/MM/DD (Year, Month, Day) return sprintf("%04d/%02d/%02d",$gmt[5]+1900,$gmt[4]+1,$gmt[3]); } sub HTMLEscape { my ($rVals)=shift; my ($vals); if(ref $rVals) { $vals=join(', ',@$rVals); } else { $vals=$rVals; } $vals=~s/([<>&])/$HTML_ESC_TABLE{$1}/g; $vals=~s/(\r\n|\r|\n)/
/g; return $vals; } sub HTMLQEscape { my ($val)=shift; $val=~s/([<>&\"\r\n])/$HTML_ESC_TABLE{$1}/g; return $val; } sub NumberCheck { my ($obj,$val)=@_; if(defined($obj->{'min'})) { if($val+0<$obj->{'min'}) { return 1; } } if(defined($obj->{'max'})) { if($val+0<$obj->{'max'}) { $e=1; } } return 0; } #--20040210 Add--------------------------------# sub SaveDB { my $q=$CGI_QUERY; # short for convenience $db = DBI->connect('DBI:mysql:jphost:localhost', "jphost", "W5ERfsdweij4"); #$db = DBI->connect('DBI:mysql:jphost:localhost', "test"); if(!$db){ return 0; } $sth = $db->prepare("INSERT INTO 050_signup(" ."Domain1, " ##."Domain2, " ##."Domain3, " ."RegisteredDomain, " ."PlanName, " ."Period, " ."SearchEngine, " ."Contact, " ."ContactFurigana, " ."ContactEnglish, " ."Company, " ."CompanyFurigana, " ."CompanyEnglish, " ."Representative, " ."RepresentativeFurigana, " ."ZIPCode, " ##."Prefecture, " ."Addrress, " ##."AddressFurigana, " ."TEL, " ."FAX, " ."EMAIL, " ##."Experiment, " ##."PCCount, " ##."PCEnviroment, " ##."OS, " ##."Browser, " ##."ISP, " ."Questionnaire, " ."Note, " ##."OSOther, " ##."BrowserOther, " ##--20040210 Add-- ."Domain, " ."Paymeth, " ."OP_1, " ."OP_2, " ."OP_3, " ##(予備)."OP_4, " ##(予備)."OP_5, " ."Contract, " ."RepresentativeEnglish, " ."Charge, " ."BusCategory, " ."PrefectureEnglish, " ."CityEnglish, " ."AddrressEnglish, " ."RegAddress, " ."RegYMD, " ."copy) VALUES (?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"); if(!$sth) { return 0; } if($q->param("ドメイン") eq "取得済み"){ $domain1=""; if($q->param("取得済ドメイン名") ne ''){ $domain2=$q->param("取得済ドメイン名").$q->param("取得済ドメイン種類"); }else{ $domain2=""; } }else{ if($q->param("新規ドメイン名") ne ''){ $domain1=$q->param("新規ドメイン名").$q->param("新規ドメイン種類"); }else{ $domain1=""; } $domain2=""; } if(($q->param("登記年") ne '') && ($q->param("登記月") ne '') && ($q->param("登記日") ne '')){ $regymd=$q->param("登記年")."年".$q->param("登記月")."月".$q->param("登記日")."日"; }else{ $regymd=""; } $rc=$sth->execute( $domain1, $domain2, $q->param("プラン名"), $q->param("契約期間"), $q->param("OP_検索登録"), $q->param("名前(担当者)"), $q->param("名前(ふりがな)"), $q->param("名前(英語)"), $q->param("会社名/団体名"), $q->param("会社名/団体名(ふりがな)"), $q->param("会社名/団体名(英語)"), $q->param("代表\者名"), $q->param("代表\者名(ふりがな)"), $q->param("郵便番号")."-".$q->param("郵便番号2"), $q->param("住所"), $q->param("TEL"), $q->param("FAX"), $q->param("E-MAIL"), $q->param("アンケート"), $q->param("備考"), $q->param("ドメイン"), $q->param("支払方法"), $q->param("OP_ショッピングカート"), $q->param("OP_データベース"), $q->param("OP_独自SSL"), $q->param("契約種別"), $q->param("代表\者名(英語)"), $q->param("部署名"), $q->param("業種"), $q->param("都道府県(英文)"), $q->param("市町村(英文)"), $q->param("建物名・番地(英文)"), $q->param("登記住所"), $regymd, 0 ); if(!$rc) { return 0; } $sth->finish; $db->disconnect; return 1; }