入力処理(メール送信)
(PSN-send Ver 4.0)

PSN-send は、ホームページから入力されたデータをメールとして指定したメールアドレスへ送信することができます。


  1. 一般的なFORM文の記述方法
  2. 入力データ確認画面と入力データ登録完了画面
  3. 入力データ確認(登録完了)画面表示の変更
  4. 送信するメールの形式
  5. メールの件名をセットしたい場合
  6. 差出人メールアドレスをセットしたい場合
  7. 入力データのチェックを行う場合


  1. 一般的なFORM文の記述方法

    (1) FORM文

    FORM文は、入力フォームの先頭に記述し、起動するプログラムやメール送信先のメールアドレスを指定します。尚、メール送信先は、xxx@psn.ne.jpもしくは PSN のレンタルサーバで運用しているメールアドレスでなければなりません。PSN以外のサイトにメールを送信することはできません。

    <FORM METHOD="POST" ACTION="/cgi-bin/PSN-send?mailto:メールアドレス">

    (2) INPUT文による入力枠の表示

    INPUT文を使用した例を次に示します。尚、詳細は文献等を参照してください。

    氏名 :<INPUT TYPE="text" NAME="氏名" VALUE="PSインターネット" SIZE=24 MAXLENGTH=32>
    氏名 :

    E-mail:<INPUT TYPE="text" NAME="E-mail:" VALUE="info@psn.ne.jp" SIZE=24 MAXLENGTH=24>
    E-mail:

    PASSWD:<INPUT TYPE="password" NAME="Password" SIZE=10>
    PASSWD:

    <SELECT NAME="Menu" size="1">
    <OPTION>最高級
    <OPTION SELECTED>高級
    <OPTION>普通
    </SELECT>


    <INPUT TYPE="checkbox" NAME="種別" VALUE="ダイアル">ダイアル
    <INPUT TYPE="checkbox" NAME="種別" VALUE="レンタル" CHECKED>レンタル
    <INPUT TYPE="checkbox" NAME="種別" VALUE="フレッツ" CHECKED>フレッツ
    ダイアル レンタル フレッツ

    <INPUT TYPE="radio" NAME="誕生日" VALUE="明治">明治
    <INPUT TYPE="radio" NAME="誕生日" VALUE="大正T">大正
    <INPUT TYPE="radio" NAME="誕生日" VALUE="昭和S">昭和
    <INPUT TYPE="radio" NAME="誕生日" VALUE="平成" CHECKED>平成
    明治 大正 昭和 平成

    <TEXTAREA NAME="備考" ROWS=5 COLS=60>
    テキストを入力します。
    </TEXTAREA>



    (3) データの登録と取り消しボタン

    データの登録もしくは取消を行うには、次のように指定します。但し、取消は必須ではありません。

    <INPUT TYPE=SUBMIT VALUE="確認">
    <INPUT TYPE=RESET VALUE="取消">

    (4) FORM文を閉じる

    </FORM> を最後に記述して FORM文を閉じます。


    (入力処理のテスト)
    ここで、入力処理のテストを行うことができます。次の手順で実行してください。

    (1) 上の入力枠内に適当にデータを入れてください。
    (2) 上の[確認]ボタンをクリックしてください。
    (3) 入力データ確認画面が表示されます。[Submit]ボタンをクリックします。
    (4) 入力データ登録完了画面が表示されます。[Back]ボタンをクリックして戻ります。

    (注意) 半角カナは入力しないでください。文字化けを起こします。


  2. 入力データ確認画面と入力データ登録完了画面

    入力データ確認画面は次のようになります。



    ここで、[Submit]ボタンをクリックすると"入力データ登録完了画面"が表示されます。

    ここで、[Back]ボタンをクリックすると元の画面に戻ります。


  3. 入力データ確認(登録完了)画面表示の変更

    [確認]ボタンがクリックされますと、通常は上図のような画面が表示されますが、この画面表示をユーザが部分的に変更することができます。ます。<FORM>と</FORM>の間に次のようなINPUT文を入れてください。

    <!------- 漢字コードをUTF-8に統一 --------->
    <INPUT TYPE="hidden" NAME="#!CHARSET" value="UTF-8">

    <!------- 入力データ確認画面 --------->
    <INPUT TYPE="hidden" NAME="#!TITLE" value="<H2>入力データの確認画面</H2>">
    <INPUT TYPE="hidden" NAME="#!SUBMIT" value=" 送信(Submit) ">
    <INPUT TYPE="hidden" NAME="#!BACK" value=" 戻る(Back) ">

    <!------- データ入力処理のHTMLファイル名 ------->
    <INPUT TYPE="hidden" NAME="#!CONFIRMHTML" value="/home/USERID/public_html/aaa.html">

    <!------- データ登録完了HTMLファイル名 ------->
    <INPUT TYPE="hidden" NAME="#!NEXTPAGE" value="/home/USERID/public_html/aaa_next.html">


    (注意) 上記 INPUT文のVALUE=".."の中はシングルクォート(') 使用不可です。
    NAME 内容
    #!CHARSET 入力データ確認画面、登録完了画面の漢字コードを指定します。
    漢字コード:"UTF-8", "EUC-JP", "Shift_JIS"もしくは"SJIS"
    #!TITLE 入力データ確認画面のタイトルを指定します。
    #!SUBMIT Submitボタン名を指定します。
    #!BACK Backボタン名を指定します。
    #!CONFIRMHTML 入力データ確認メッセージを元のページの中に挿入するときに指定します。元のページは絶対パスで指定します。

    絶対パスの例: /home/USERID/public_html/aaa.html

    元のページの挿入したい場所の最初と最後に <!--#!START--><!--#!END-->を指定します。
    #!NEXTPAGE 入力データ登録完了時に表示するページのファイル名を絶対パスもしくは PSN-send の場所からの相対パスで指定します。

    絶対パスの例: /home/USERID/public_html/aaa_next.html
    相対パスの例: ../../public_html/aaa_next.html
    相対パスの例: ../htdocs/aaa_next.html

    NEXTPAGEを指定すると、「データを登録しました。[Back]ボタンをクリックして画面を戻してください」のページがNEXTPAGEで指定されたページに切り替わります。


  4. 送信するメールの形式

    #Date Time = 1996/04/20 18:00:23   <---- 日時は自動的に表示されます
    #RemoteHost= xxx.xxx.xxx.xxx       <---- クライアントのIPアドレス
    
    氏名       = "PSインターネットサービス"
    E-mail:    = "info@psn.ne.jp"
    Password   = ""
    Menu       = "高級"
    種別       = "レンタル"
    種別       = "フレッツ"
    誕生日     = "平成"
    comment    = 
    "テキストを入力します。"
    ""
    
    送信するメールには「項目名=入力値」の形式で入力値が表示されています。尚、入力日時および入力者のコンピュータのIPアドレスが自動的に表示されます。


    メールの件名をセットしたい場合

    通常、メールの件名は空もしくは( no subject)になります。この件名を変更するには、次の例のようにデータ項目名(name)に"FORM:"を指定し value句にメールの件名を指定します。

    <INPUT TYPE="hidden" NAME="FORM:"   value="メールの件名">
    
    (注意) 上記 INPUT文のVALUE=".."の中はシングルクォート(') 使用不可です。

    差出人メールアドレスをセットしたい場合

    初期状態では、メールの差出人は、nobody@xxx.psn.ne.jp になります。次の方法で差出人のメールアドレスを指定することができます。差出人にメールを返信する場合などに便利です。

    入力データのデータ項目名(name)を "E-mail:"( E-mailに続けて半角のコロン)にします。

    E-mail  <INPUT TYPE="text" NAME="E-mail:" SIZE=48 MAXLENGTH=64> 
    


    (まとめ)
    NAME 内容
    FORM: メールの件名をセットします。
    E-mail:
    もしくは
    Email:
    データ登録者のメールアドレスを意味します。


  5. 入力データのチェックを行う場合

    PSN-sendは、入力されたデータのチェックを行うことができます。入力データのチェックを行うには、1個の入力データに対して1個の「チェック用input文」を追加します。

    例えば、"ユーザ名"の入力を行うにあたり、その"ユーザ名"は「入力必須」で「半角」でなければなない場合は次のようにします。

    ユーザ名:<input type=text   name="ユーザ名"       size=10 maxlength=8> 
    <input type=hidden name="check:ユーザ名" value="not_null ascii">
    

    (チェック用input文の使用方法)

    (1) type
    input文の typeは、hidden にしておきます。

    (2) name
    nameは、チェックしたい項目名の前に "check:"を付けます。

    (3) value
    valueは、次のチェック句を指定します。

    チェック句意味
    not_null 入力必須
    mail_address
    もしくは
    mailaddress
    メールアドレス形式
    ascii ASCII(半角)のみ
    alpha 英字(半角)のみ
    number 数字(半角)のみ
    date 日付型(区切り文字は / . - の3種類)
    (例: 2002/06/05, 2002.06.05 もしくは 2002-06-05)
    tel
    もしくは
    telno
    電話番号(区切り文字は - もしくは区切り無し)
    (例: 06-6390-3205, 0663903205)
    url URL(http, https, ftp のURLを指定可能)
    (例: http://www.psn.ne.jp/, https://xxx.com/)
    cardno クレジットカード番号(4桁ごとにスペース)
    (例: 4980 2100 8765 1234)
    cardlimit クレジットカード有効期限(月/年)
    (例: 05/02)

    • "not_null" は、他の全てチェック句と組み合わせて使用できます。
    • "not_null" 以外のチェック句は、データ無し(null)の場合を正常とみなします。
    • 例えば、入力必須でしかもメールアドレスに場合は、"not_null mail_address"のように組み合わせて使用します。

    (使用例)
    
    <HTML>
    <HEAD>
       <META HTTP-EQUIV=Content-Language CONTENT=ja>
       <META HTTP-EQUIV=Content-Type CONTENT='text/html; charset=UTF-8'>
       <TITLE>入力処理(メール送信)<TITLE>
    </HEAD>
    <BODY>
    
    <!--#!START-->
    <FORM METHOD="POST" ACTION="/cgi-bin/PSN-send?mailto:xxxxxxxx@psn.ne.jp">
    
    <!------- 入力確認画面、登録完了画面もUTF-8に統一 --------->
    <INPUT TYPE="hidden" NAME="#!CHARSET"  value="UTF-8">
    
    <!------- 入力データ確認画面を変更 --------->
    <INPUT TYPE="hidden" NAME="#!TITLE"     
    				value="<H2>入力データの確認画面</H2>">
    <INPUT TYPE="hidden" NAME="#!SUBMIT"    value="登録">
    <INPUT TYPE="hidden" NAME="#!BACK"      value="戻る">
    
    <!------- データ入力確認HTMLファイル名 ------->
    <INPUT TYPE="hidden" NAME="#!CONFIRMHTML" 
    			value="/home/USERID/public_html/aaa.html">
    
    <!------- 入力データ登録完了画面を指定 ------->
    <INPUT TYPE="hidden" NAME="#!NEXTPAGE" 
    			value="/home/USERID/public_html/aaa_nect.html">
    
    <!------- フォームの名称とメールの件名を指定 ------->
    <INPUT TYPE="hidden" NAME="FORM:"      value="xxxの申込">
    
    <table border=1 cellpadding=4 cellspacing=1 width=560>
    <tr><td>氏  名 </td><td>
    <INPUT TYPE="text"   NAME="氏名"        SIZE=48 MAXLENGTH=64>
    <INPUT TYPE="hidden" NAME="check:氏名"  value=not_null>
    </td></tr>
    
    <tr><td>ユーザ名 </td><td>
    <INPUT TYPE="text"   NAME="ユーザ名" SIZE=12  MAXLENGTH=8> 
    <INPUT TYPE="hidden" NAME="check:ユーザ名" value="not_null ascii">
    </td></tr>
    
    <tr><td>パスワード</td><td>
    <INPUT TYPE="text"   NAME="パスワード" SIZE=12  MAXLENGTH=8> 
    <INPUT TYPE="hidden" NAME="check:パスワード" value="ascii">
    </td></tr>
    
    <tr><td>E-mail  </td><td>
    <INPUT TYPE="text"   NAME="E-mail:"       SIZE=48 MAXLENGTH=64> 
    <INPUT TYPE="hidden" NAME="check:E-mail:" value="mail_address ascii">
    </td></tr>
    
    <tr><td>電話番号</td><td>
    <INPUT TYPE="text"   NAME="電話番号"       SIZE=48 MAXLENGTH=64>
    <INPUT TYPE="hidden" NAME="check:電話番号" value="tel">
    </td></tr>
    
    <tr><td>カード番号</td><td>
    <INPUT TYPE="text"   NAME="カード番号"       SIZE=48 MAXLENGTH=64>
    <INPUT TYPE="hidden" NAME="check:カード番号" value="cardno">
    </td></tr>
    
    <tr><td>カード有効期限</td><td>
    <INPUT TYPE="text"   NAME="カード有効期限"       SIZE=48 MAXLENGTH=64>
    <INPUT TYPE="hidden" NAME="check:カード有効期限" value="cardlimit">
    </td></tr>
    
    <tr><td>URL</td><td>
    <INPUT TYPE="text"   NAME="URL"       SIZE=48 MAXLENGTH=64>
    <INPUT TYPE="hidden" NAME="check:URL" value="url">
    </td></tr>
    
    <tr><td>申込/削除</td><td> 
    <INPUT TYPE="radio" NAME="申込/削除" VALUE="申込" CHECKED> 申込  
    <INPUT TYPE="radio" NAME="申込/削除" VALUE="削除"> 削除
    </td></tr>
    
    <tr><td>NTT 工事日 </td><td> 
    <INPUT TYPE="text"   NAME="NTT工事日"       SIZE=16 MAXLENGTH=10>
    <INPUT TYPE="hidden" NAME="check:NTT工事日" value="date">
    </td></tr>
    
    </table>
    <BR>
    
    <INPUT TYPE=SUBMIT VALUE=" 申込"> 
    </form>
    <!--#!END-->
    
    </BODY>
    </HTML>
    
    

    入力データのエラーが発生した場合には、次のような画面が表示されます。


    この入力データ確認画面は、#!CONFIRMHTML、 <!--#!START--> および <!--#!END-->が指定されているときは、ページの途中に挿入されて表示されます。