ひとつの<input>の中に入力された値を

2つのcgiに渡したい(登録したい)と考えています。


具体的には、ユーザがメールアドレスを登録した際

・メール配信ツール(メルマガ配信用)
・顧客管理ツール(管理用)

の2つに値を渡したいのです。
どちらも自前のもので、ユーザの許諾ナシでまぐまぐに登録するような目的ではありません。

ご教示のほど宜しくお願いします。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2007/06/05 14:25:29
  • 終了:2007/06/12 14:30:04

回答(5件)

id:kopj No.1

kopj回答回数123ベストアンサー獲得回数62007/06/05 14:32:52

ポイント20pt

ひとつのCGIの中で、もうひとつのCGIを起動させるというようにするのはいかがでしょうか?

http://q.hatena.ne.jp/freewriter/

id:freewriter

ありがとうございます。cgiじゃないとダメですか・・?

2007/06/05 18:19:34
id:toyoshi No.2

toyoshi回答回数67ベストアンサー獲得回数12007/06/05 16:11:56

ポイント20pt

cgiということはPerlでしょうか?

POST送信を行うスクリプトが下記のURLにありますので、そのまんま使えると思います。

http://oshiete1.goo.ne.jp/qa2808695.html

PHPのはこちらにありました

http://php.webmeister-jp.com/archives/2005/02/post_7.php

id:freewriter

ありがとうございます!できればjavascriptで対応できるとうれしいのですが、可能でしょうか?

2007/06/05 18:20:05
id:Yota No.3

Yota回答回数453ベストアンサー獲得回数282007/06/05 19:31:09

ポイント20pt

formのactionで送信先を指定しないで、buttonにonclickイベントハンドラを使えばどうでしょう。Ajaxになっちゃいますが、cgiのurlをurl1,url2とすると、

<form>

<input type="text" name="mail"/>

<input type="button" onclick="reg(url1,this.form.mail.value);reg(url2,this.form.mail.value)"/>

</form>

Javascriptは

<script type="text/javascript" >

function reg(url,mail) {

var httpoj = createHttpRequest() ;

httpoj.open('GET', url+'?mail='+mail, true) ;

httpoj.send(null) ;

httpoj.onreadystatechange = function() {

if (httpoj.readyState == 4) {

var res = httpoj.responseText ;

alert(res) ;

}

}






}

function createHttpRequest(){

if(window.ActiveXObject){

try {

return new ActiveXObject("Msxml2.XMLHTTP") ;

} catch (e) {

try {

return new ActiveXObject("Microsoft.XMLHTTP") ;

} catch (e2) {

return null

}

}

} else if(window.XMLHttpRequest){

return new XMLHttpRequest() ;

} else {

return null ;

}

}


</script >

参考。

http://allabout.co.jp/internet/javascript/closeup/CU20050515A/in...

id:openseed No.4

openseed回答回数51ベストアンサー獲得回数62007/06/07 07:40:26

ポイント20pt

JavaScript は、確実ではないので、やはり、CGIから、CGIを呼び出すのがよいと思います。

または、1回目のPOSTで返却するページに、<form> にすべて入力された値を設定した上で表示し、2回目のsubmit を促すのがよいのではないでしょうか。

2回目のページ表示時に必要であれば、onload で submit() を実行するのも可能です。(気持ち悪いですが。)


どうしても、JavaScript で行いたいのであれば、iframe または、ダミーのframe を用意して、form の onsubmit で、target と action をそれぞれ変更してsubmit するのではいかがでしょうか。

同じようなページがありましたので、参考まで。

http://sb.xrea.com/showthread.php?t=11855#post79351

id:lunlumo No.5

lunlumo回答回数107ベストアンサー獲得回数142007/06/07 21:59:45

ポイント20pt

 下手な魔改造を掛けるよりは,共通のデータベースに納める様に改修した方が良いのではないかと。

>POST送信を行うスクリプトが下記のURLにありますので、そのまんま使えると思います。

>http://oshiete1.goo.ne.jp/qa2808695.html

 ここで紹介されているのはSOCKETを使用する方法ですね。PerlでHTTPを扱う場合,HTTP::Request等を使うのが一般的です。環境によっては使えませんが。

http://homepage3.nifty.com/hippo2000/perltips/lwpcook.html#POST

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません