6−03          
 FORMデータの受信


 
 
 
 
 
 


1. PerlによるFORMデータの受信










2. CによるFORMデータの受信





Myu's Lab

     「C言語各種ライブラリ」より参考・使用



********************
  文字列の取得
********************

■使用関数
getenv 環境変数の内容を調べる
strcmp 文字列と文字列を比較する
atoi 文字列を整数に変換する
malloc 動的にメモりを確保する
memset(s,ch,n) 大きさnのメモリブロックをchで埋める
fread(ptr,size,nitems,stream) sizeバイトのデータをnitems分をstreamからptrに入れる
strlen 文字の長さを計算する


@  getenv("REQUEST_METHOD")
   
   環境変数(REQUEST_METHOD)を取得 POS か GET かを判断


A POSTの場合
  
if ( !strcmp (method, "POST" ) )  POST かどうかチェック
ictl = atoi(getenv("CONTENT_LENGTH"));  データの長さを取得し,文字から整数に。 ictl が文字の長さ
if(ictl == 0)  長さが0 → データなし をチェック
if((qstring = (char *)malloc( sizeof(char) * (ictl + 1))) == NULL)  1文字分のメモリ × (文字の長さ+1) 分のメモリ確保 できなかったら さいなら 
memset( (char *)qstring, '\0', sizeof(qstring) );  qstring を ¥0 ですべて埋める
if((fread(qstring, ictl, 1, stdin)) != 1)  stdin から ictl 分のデータを 1回 qstring に読み込む
qstring[ictl] = '\0';  qstring の文字の最後に ¥0 を代入
B GETの場合


 省略






Copyright (C) 2000 UP-BEAT. All Rights Reserved.