• ベストアンサー

CGIは初心者です。よろしくお願いします。

先週から派遣社員として、モバイルのサイトのCGIをC言語(GLib)で作成する仕事についたのですが、2年前までVBを中心とした開発しかやったことがなく、今回2年ぶりに現場復帰したばかりです。いまいち以下のことが理解できないのです。 1、値の引渡しの方法がわからない。単なプログラムすらもかけない 2、コンテキストがよくわからない 3、ハッシュテーブルとリスト型に変換 4、大まかな流れがわかっていないのかもしれません。 こんなお馬鹿な質問しかできませんが、お勧めのサイトか簡単なサンプルプログラムとかいただけたら幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • togino
  • ベストアンサー率75% (97/129)
回答No.1

> 1、値の引渡しの方法がわからない 何と何との間の値の引渡しなのでしょう? 携帯とCGI の間というのであれば、携帯に出力する HTML の中で <form action="hogehoge.cgi" method="post"> <input type="hidden" name="var_name" value="var_value"> </form> のように form を作成し、 C 言語の CGI の方で、標準入力から int length = atoi( getenv("CONTENT_LENGTH") ); char* buf = (char*)malloc(sizeof(char)*(length+1)); int n = fread( buf, 1, length, stdin ); buf[n] = '\0'; よみとれば buf に var_name=var_value という形式で 値を引き渡すことができます。 form の mathod に get を使った場合 int main( int argc, char* argv[] ) の argv に入るということもあります。 > 2、コンテキストがよくわからない 何の「コンテキスト」なんでしょう? http://ew.hitachi-system.co.jp/w/E382B3E383B3E38386E382ADE382B9E38388.html の意味で解釈しましたけど、いきなり 2、文脈がよくわからない って言われてもですね・・・、何の文脈が分からないんですか? > 3、ハッシュテーブルとリスト型に変換 何をハッシュやリストに変換するのでしょう? 仮に携帯からの送られてくるデータをハッシュに 変換するのであれば、 char sz_key[] = "var_name"; char sz_value[] = "var_value"; GHashTable* hash_table = g_hash_table_new(NULL, NULL); g_hash_table_insert(hash_table, sz_key, sz_value); いったん、文字列型(char[]) に格納してから g_hash_table_insert にてハッシュに挿入すればいいです。 > 4、大まかな流れがわかっていないのかもしれません。 1. FORM から送られてくるデータを受け取る 2. そのデータを元に、なんなからの処理をする 3. 結果を HTML として出力する 以上が大まかな流れです。 一番小さい C 言語による CGI プログラムは #include<stdio.h> int main(void) { printf("Content-type: text/html\n\n"); printf("<html><body>Hello CGI by C.</body></html>"); } はい。ここからがんばってください。 ------ え~、VB という言語は、ポインターという概念が 表面に出てこない言語なので、C で CGI を作成する ことを考えた場合、プログラム完全初心者と思われた方が よろしいかと思います。 正直に申しまして、上記のような質問をしている段階で あるならば、かなり真剣に勉強しないと開発は出来ない と思います。 google で C言語 CGI とキーワードと入力すると いくつもWeb ページがヒットしました。 よさげなページをピックアップしましたので それらの解説ページをよく読み、本屋で C 言語による CGI 作成の本を購入されよく読み、勉強してください。 http://www2k.biglobe.ne.jp/~motoi/cdecgi02.html http://www-cms.phys.s.u-tokyo.ac.jp/~naoki/CIPINTRO/CCGI/ http://www.din.or.jp/~raelian/cgi_formiddle.html http://mewc.to/CGI/howto/

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • aspとcgiについて基本を知りたいのですが!初心者向けにお願いします。

    windows2000PROでただいまホームページを作って勉強しています。 環境としてはこんな具合です。 IISにてweb環境を作成。 同時にIISでftpサーバをインストール&設定。 簡単なcgiを動かしたかったのでactivestate.comからactive perlをdownloadしてインストールしました。 動かしたいcgiはlogin.cgiと言う短いperl言語のcgiです。 index.htmlからリンクで動かそうとしましたが、上手くいきません。 active perlのサンプルプログラムを動かしたら上手く動いたのですが、拡張子がサンプルでは.aspとなっています。 思い切ってlogin.cgiをlogin.aspとして動かしたら、なんか動いちゃいました。 login.cgiをdownloadしたホームページの説明ではlogin.cgiの名称で一部変更してコピーと書いていますので、多分見当違いのことをしていると思っています。 基本的な概念が理解できていませんので、asp/cgiの基礎を知りたいと思います。 あわせて今回の間違いも指摘して頂けたらありがたいと思います。 宜しくお願い致します。

    • 締切済み
    • CGI
  • CGI(perl)って・・・

    どんな感じで使ってます? あれはプログラム言語として使ってます? あの分かりにくい記号を覚えて使うものなんですか? 今まで(と言うか今も)COBOLとJAVAを 使ってきたんですが、なんかパズルのように組み合わせる パールのCGIになじめないっす・・・ どんな感じで使ってるか教えてください! やっぱ(命令文みたいなの、笑)覚えて作ってます? それとサンプルを埋め込んで使うんですか? だれでも良いんで参考までに 教えてぇぇぇぇ!同業者でCGI詳しい人もヨロシク☆

    • ベストアンサー
    • CGI
  • CGIからアプリの実行

    こんにちわ。 C言語でCGIを作成しようとしております。 そこで、そのCGIのプログラムから他のアプリケーション(***.exe)を実行させたいと思っております。どのように記述すれば可能でしょうか。 また、詳しく説明のあるサイトなどありましたら教えていただきたいのですが。 宜しくお願いします。

    • 締切済み
    • CGI
  • CGI(特にオリジナル掲示板作成について)

     いくつか、まとめての質問になりますが、よろしくお願いします。 ・CGIの超初心者の為の解説サイトでお勧めを教えて下さい。極端に言うと今日 から何も知らずに見て、一番わかりやすそうな。 ・CGI(特に掲示板)のサンプルプログラム等を公開されていて、それを使用者 の目的や好みにカスタマイズさせて頂けるサイトは無いでしょうか?(背景やアイコンだけではなく、掲示板そのものの機能をです。元々サンプルに付いていない機能を付け足すというような。)そういう事について解説されていたり、質問できるサイト。もしくは、素材屋さんのように、無料もしくは、安価で作成していただけるサイトは無いでしょうか? ・HPを作成するソフトというのは、有名なホームページビルダー等、いくつも聞きますが、CGIやJava等を作成するソフトというのは聞いた事が無いです。あれば、とても欲しいのですが、そういうものは無いのですか?無いならそれは、なぜですか? よろしくお願いします。

    • ベストアンサー
    • CGI
  • MySQL・CGI/Perl言語を学びたい。

    プログラムの学習を始めようと思いますが、MySQL・CGI/Perl言語を学ぼうと思っております。 そこでどの言語から始めたらいいのか?お薦めの書籍はどんな物か等など教えて頂きたいです。 学びたい言語とは異なりますが以前、やさしいJava第2版で学習していましたが、中盤以降から何故この機能が必要なのか?また具体的にどういった場面で使用するのかが書かれてなく只やり方しか書かれてなく、挫折してしまいました。 時間が出来た事もありまして最近になって又興味を持ち始めたので、どの言語からの学習がいいのか、 そしてお薦めの書籍(どういった場面で使用するプログラムか具体的に書かれている等)がありましたらよろしくお願いします。 最終的にはCGIプログラムからデータベースにアクセス?してデータの追加・削除、不特定多数の方が出来るログイン機能等の作成(簡単に言えば通販サイトの仕組や、よくあるCGIゲームの様な代物)到達するくらいのレベルが目標です。

    • ベストアンサー
    • Perl
  • Perl/CGIを学んでいるのですが

    Perl/CGIを独学で学んでいます。 掲示板やチャットが作成できる程度です。 私はPerl=CGIと考えていたのですが(HTMLがサイト作成に使うことのように専用の言語とでもいいましょうか)、ぜんぜん違うようです。 PerlはCGI以外に Perlではどのようなことができるのでしょうか? 大まかな認識だと ビィジュアルを持たない、(VBでいうフォームパーツですかね)バッチファイルなど? で、コマンドプロンプトで動作するようなイメージがありますが(.batを起動するとメモ帳みたいなアプリではなく、特定の処理して終了みたいな) 無知な私にPerlで出来ることをお教えください。 せっかくPerl/CGIが少しは理解できているのでPerlをもっと勉強しようかとあぐねいているとこらです。 混乱しているため変な質問でしたらすいません

  • 以下の言語の初心者用のページとかありませんか?

    現在以下の言語で共通プログラムを作成中です BASIC VisualBASIC C Pascal Fortran Java Perl で価格,預り金を入力するとそのおつりと紙幣・硬貨の各枚数を表示するプログラムを作成中です。 BASICは簡単だしVB,Cは多少やっていたのでわかるんですが、他の言語がさっぱりです・・・ 参考になるページがありましたら教えてください。 また上のプログラムのサンプルなどがありましたらかなりうれしいです・・・ ちなみに配列・SelectCaseを使って作成しています。

  • 携帯用 cgi プログラミングの参考サイト

    携帯やモバイル端末用 cgi(perl) プログラミングに 参考となるようなサイトはありませんか。 通常のブラウザ用に作った perl プログラムが、携帯用のページに設置すると動かなかったりします。 記述に違いがあるのでしょうか。

    • ベストアンサー
    • Perl
  • デバイスコンテキストについて詳しく教えてください

    C言語でwin32APIを勉強しているのですが、デバイスコンテキストとは具体的にどのようなものでしょうか?Windowsが管理しているGDIで描画をするための構造体らしいですが・・・。 それともう1つ質問です。解説サイトに「デバイスコンテキストは使ったらすぐ解放しなければならない」と書かれているのですが、なぜすぐに解放しなければならないのですか?サンプルプログラムを見ていると、まだ使えそうなデバイスコンテキストもすぐ解放し、次に必要になれば新たにデバイスコンテキストを確保していますが、そのまま取って置くのは駄目なのでしょうか。そのようなプログラム(汎用的なデバイスコンテキストをWinMainの最初に確保し、完全に使わなくなった時点で解放する)を作って動作させてみても、ぱっと見では問題が見つかりません。ですがこれではやはり問題があるのでしょうか? 質問は以上の2点です。回答よろしくお願いします。

  • CGIゲームを作成するのにオススメな書籍など

    多人数参加型シミュレーションのCGIゲームを知合い(知合いは知識あり)とperlかphp言語で作ろうと考えておりますが、自分はプログラムに関しては全くのど素人です。 どなたか上記のゲーム作成の参考になるサイトか書籍を教えてくれませんか?

    • ベストアンサー
    • Perl