フォーム入力ツール フォームとCGI目次 入力データの取り出し方

getpost

フォーム形式を使用することでブラウザ(閲覧ソフト)からサーバへデータを送れます。データ送るにはgetpostの2通りの方法(HTTPメソッド)が用意されており、<form>タグのmethod属性によって指定されます。

getはフォームデータがパッケージ化され、CGIスクリプトに引数を付けた場合と同じような形式でデータがaction属性で指定されたURLの最後に付けられます。action属性が次のような場合、

action="/cgi-bin/myscript"
たとえば、yournamepasswordの2つの<input>入力タグがあれば、
        
        
        http://www.yokochin.com/cgi-bin/myscript?yourname=yokoi&password=xxxxxx
        
        
このようになります。これはCGIスクリプトに引数を渡す場合とまったく同じ形式です。

サーバはフォームから受け取ったURLの疑問符より後のデータを環境変数query_stringにセットします。すなわち、先の例ではquery_string変数へ次の値がセットされるわけです。

query_string=yourname=yokoi&password=xxxxxx
postgetとほとんど同じでも、ヘッダとデータ部が分割されているためデータを加工してセキュリティを保てる利点があるといわれています。ただしpostの場合、query_string環境変数はセットされません。

getpostのどちらを使うのがよいかは個々で判断してください。getquery_stringが使えるのでデータの分解は楽ですが、getは後ろに付けられるデータ長が制限されるため大きなデータを送る場合はpostを用いなければなりません。



Copyright (C) 1996-2003 by Yasukazu Yokoi. All Rights Reserved.