プロが教える店舗&オフィスのセキュリティ対策術

似た質問の回答を捜しましたが、良く理解できない「おじさん」です。
よろしくお願いいたします。

A.現状:
 フォームメールHTML(KENTさん)からWEB de アンケート(無料CGI)にデータを送りたいweb_de.cgiを修正して、「川柳の投句ページ」を作成しています。
 投句者の情報が必要なので、Cgiにリンクを貼り、postmail.htmlで、情報入力をしていますが、
  ・本人の投句を「メールホーム」に記入し、
  ・さらに「CGI」の「textBOX」に同じ句を書き込む現状です。
  ・postmail.htmlに記入した「投句」データを送りたいのです。
 HTML内から、直接CGIにデータ貼付け&CGI内のボタンを押すことは、可能でしょうか?
(但し、CGI内の変更は、私には未熟で?です。・・・出来るのは文字の記述修正位です)
よろしく、お願いいたします

1.送信側(postmail.html)
 ■送りたい項目
  <form action="./postmail.cgi" method="post">
 <textarea name="投句1" cols="50" rows="1"></textarea>

2.受取側(web_de.cgi?_mode=view&id=1329846611)
 ■受け取る項目の記述
   #!/usr/local/bin/perl
  (略、該当箇所のみ記載)
  { print "<b> 投句する:</b>
  <input typep=text name=\"new_v\" value=\"\" maxlength=80 size=40>"; }
  if ( !$time_out ) { print "<input type=submit value= 投句 >" ; }
 (略)

B.実行したいこと
1).postmail.html内の「"投句1"」を
2).web_de.cgi内のtextに貼付け、CGI投句ボタンを押して、
3).元のpostmail.htmlに戻る
4).「"投句2"」、「"投句3"」を実行
5).元のpostmail.htmlに戻る
6).元のpostmail.htmlに戻る
  (投句を含めた他の情報を入力、送信する)

C.教えて頂きたいこと
 ■Bの2)に記述した命令の記述

 恐れ入りますが、よろしくお願いいたします。

A 回答 (1件)

WEB de アンケート(無料CGI)というのは、下記のcgiでよいでしょうか?


http://www.coolandcool.net/pcg/web_de/index.html

当方、cgi(perl)は以前にちょっと齧った程度なので、
的確な回答にはならないかもしれませんが、上記アドレスでのcgiを見て回答します。


fumikume さんが希望している動作は、
『2).web_de.cgi内のtextに貼付け、CGI投句ボタンを押す』ということでしたが、
記述修正位の知識(私も毛が生えた程度ですが)ですと、お望みの動作は難しいのではと思われます。

希望動作を実行するための、2パターンの回答をしたいと思います。


【パターン1】 下記の動作を実行する
----------------------------------------------------------
 1).postmail.html内の「"投句1"」を
 2).web_de.cgi内のtextに貼付け、CGI投句ボタンを押して、
 3).元のpostmail.htmlに戻る
----------------------------------------------------------
web_de.cgi 側で、postmail.htmlに入力されたテキスト情報を受取る手段です。

web_de.cgi の 933~957 行の様なスクリプトを新規に書かないといけません。
postmail.htmlからのデータを受取って、変数に入れ込む処理です(仮に変数「$touku」とします)。
その後、質問のAの2に記述されていた、
 <input typep=text name=\"new_v\" value=\"\" maxlength=80 size=40>"; } を、
  ↓
 <input typep=text name=\"new_v\" value=\"$touku\" maxlength=80 size=40>"; }
のように修正していきます。

しかし、普通に web_de.cgi から書き込んで投稿した場合と、
postmail.html 経由で投稿した場合との条件分岐しないといけないと思うので、
そのスクリプトも書かないといけません。


【パターン2】 投句ボタンを押さずにログファイルに書き込む
投句ボタンを押した際に、cgi側ではlogフォルダ内のテーマ毎に作成されるテキストファイル(*)にテキストボックス内の情報が書き込まれます。
こちらに直接書いてしまう方法です。
(*) 拡張子は「cgi」となっていますが、ただのテキストです。
  「WEB de アンケート」の設置案内のページでは、
  サンプルとして「1013061956.cgi」というファイルがありますが、
  このようにテーマ毎のID番号の名前で作成されるファイルです。

テキストに書き込むスクリプトは、
web_de.cgi の898~909行目「ログテキストファイル書き込み」に当たります。
ここには「$id」という変数があるのですが、これはテーマ毎のID番号です。
『2.受取側(web_de.cgi?_mode=view&id=1329846611)』とありましたので、
$id = 1329846611 なのだと思います。

このあたりをふまえて、単純に書き込むだけの新規 cgi を作成することでも良いのかもしれません。

読み書きについては、参照URLのサイトが参考になるかと思います。



あまり参考にならなかったかもしれませんが、ここをちょちょいっとするだけで簡単にできるというものではないかと思います。

私も人様のスクリプトを見ながら勉強している立場なので、いたらない回答だったかと思いますが、
修正にチャレンジして頑張ってください!

参考URL:http://www.geocities.jp/ky_webid/perl5/017.html
    • good
    • 0
この回答へのお礼

「kapiupa 様」今晩は、fumikumeです。

知識不足な私に、ご丁寧な回答有難う御座います。
「WEB de アンケート」は、ご指摘のURLです。簡単に出来るものではなさそうですね。

  お教え頂いた【参考URL】を勉強しながら、徐々に解決をしていきたいと考えています。
改めて初期から勉強をしなければいけないと実感いたしました。
 頂いたヒント「ログファイルに直接書き込む方法」に、チャレンジしてみたいと思います。
有難う御座いました。お世話になりました。

お礼日時:2012/04/04 17:37

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!