
No.5ベストアンサー
- 回答日時:
<FORM method="POST" action="cgi-bin/xxx.cgi" name="F1" target="_blank">
でできませんか?
意味が違うのかな。
そのCGIはPOST、GETどちらでも引数が読み出せるようになっているのでしょうか?
この、method="POST"をmethod="GET"に置き換えて実行してみてください。GETで動作してPOSTで動作しない場合は
CGIの修正が必要です。
下記参考URLにGETとPOST時の引数のとり方が載っています。
参考URL:http://tohoho.wakusei.ne.jp/wwwcgi3.htm#CgiParam …
この回答への補足
アドバイスありがとうございます。
><FORM method="POST" action="cgi-bin/xxx.cgi" name="F1" target="_blank">
>でできませんか?
>
ボタンを設置した場合は大丈夫なのですが、
#4のお礼で記載しているようになぜかMozillaやNetscapeでは
window.xxx.submit() が動作してくれません。
POST指定でボタンを設置しない方法でsubmitが有効になる方法(もしくはsubmit以外を使う方法)
がわかればいいのですが...。
ちなみに、GETですが、こちらは単にリンク先cgiに?para=aaでパラメータを渡していて、
そのCGIで「QUERY_STRING」を持ってきています。
(元のhtmlで「method="GET"」と指定している訳ではないです)
このパラメータ渡しでのtarget指定の方法がわからないです。
本当ならJavaScriptを多用せずtarget指定で記載したいのですが、
無理なようであればJavaScriptでもいいと思ってます。
この場合のJavaScriptわからないなりに調べて
window.openで('link.cgi?para1=aaa','_blank')
とかしてみたのですが、
元のウィンドウが[object]という表示になってしまいます。
これがクリアできればパラメータ渡しでOKなのですが...。
よろしくお願いいたします。
すみません。
補足欄にかいた
>window.xxx.submit() が動作してくれません。
>
ですが、
window.document.xxx.submit()
でNetscapeでも動作しました。
お騒がせいたしました。
これで、POST指定で問題なくいけそうです。
何度もありがとうございました。
No.4
- 回答日時:
<form method="POST" action="cgi-bin/xxx.cgi">
<input type=hidden name="para1" value="aaa">
<input type=hidden name="para2" value="bbb">
<input type="submit" value="送信">
</form>
これで送信ボタンを押せば、cgiの後ろに見えずに遅れます。ただし、HTMLのソースを見れば解ってしまいますが...
ボタンが出ないほうがいいのであればJavaScriptを併用して以下のように記述してみてください。
<HTML>
<HEAD>
<script type="text/javascript">
function _Send()
{
window.F1.submit();
}
</script>
</HEAD>
<BODY>
<FORM method="POST" action="cgi-bin/xxx.cgi" name="F1">
<input type=hidden name="para1" value="aaa">
<input type=hidden name="para2" value="bbb">
</FORM>
<a href="Javascript:_Send()">押してね</a>
</BODY>
</HTML>
これで、表示される「押してね」をクリックすると、_SendというJavaScript関数がコールされ、自動的にポストされます。(確認してないので動くか不明...)
この回答への補足
すみません。ここの#4お礼欄のCGIでいけたと思ったのですが、
元ページにフレームを使っている事で新たな問題が出てきました。
上下2つのフレームに分かれていて、下のフレームの中で例のCGIを呼び出しているのですが、
「target=_blank」で新たなウィンドウを表示しています。
これで例のCGIを呼び出すと空白のページしか表示されません(ToT)
POSTの指定方法でも結構ですので、「target=_blank」で新たなウィンドウでCGI生成のHTMLを表示する方法を
ご教授願いますでしょうか。
よろしくお願いいたします。
ご回答ありがとうございました。
送信ボタンの方は正常に動作いたしました。
今回は現行の<a href=...>のリンク指定が要件になるので、
「_Send」関数のほうを試してみました。
で結果は、ieやOperaでは動いたのですが、MozillaやNetscape4.7xでは動作しませんでした。
#自分のところはNetscapeが大半を占めるので...。
そこで、JavaScriptのgoto関数を使うことにしました。
<script type="text/javascript">
function goto1(){
location.href = link.cgi?link=1";
}
</script>
:
<a href="Javascript:goto1()">押してね</a>
そして今まで通りGETで処理。
JavaScriptを無効にしても、そもそもリンクが出来なくなるのでOKでした。
ただ無効にされて直接CGIを入力さされると見えてしまうので、
HTTP_REFERERで呼び出し元をチェックすることしました。
[戻る]ボタンで1つ前に戻ることができるのも要件だったので、これも一応クリアしました。
_SendのJavaScript関数がかなりヒントになりました。
ありがとうございました。
何か抜けがあったらご指摘下さい。
No.3
- 回答日時:
POSTにすればみえません。
みなさんの回答からGET→POSTで解決することはわかりましたが、その記載方法が...
(詳細は#2の補足欄にかかさせていただきます)
No.2
- 回答日時:
送信方法をGET→POSTに変更すれば見えません。
ただし、CGIの変更が必要です。
HTMLをフレームで囲い、フレーム内の情報として表示すればまったく見れなくできます。この場合はHTML,CGI含めて大改造が必要です。
外部に発注する時に、最初から見えないようにしてもらえば、簡単だったんですが...
この回答への補足
みなさん、早速のご回答ありがとうございました。
すみません、まとめてお礼申し上げます。
現在は xx?para=1 といったアンカー指定のため単純なリンクでよかったのですが、
POST指定した時にどうしたらいいのかで手詰まっています。
いろいろ検索はしているものの、CGIの基本がなっていない自分では、
[送信]ボタンを設置したPOST指定しか見つけることができませんでした。
具体的には、<a href=xxxx?para=1>で単純にリンク指定しているものを
名前"para" 値"1"で今作っているCGIにPOSTで送りたいです。
FORM文(INPUT type等)について具体的な例で説明していただけるとありがたいです。
よろしくお願いいたします。
お礼欄で申し訳ありません。
ちょっとわかりづらいかと思い一応補足いたします。
あるページのリンクがすべて
bunseki.cgi?para=joho-A1¶=joho-A2
bunseki.cgi?para=joho-B1¶=joho-B2
といった感じで、bunseki.cgiに投げられています。
bunseki.cgiはこのパラメータを元にJava Scriptで自動に飛ぶhtmlを生成します。
しかし「para=joho-A1¶=joho-A2」この中には見られたくない情報もありこのリンク先を隠したいです。
ですが、このCGIに修正を加えることはできません。
で、今回自分が行ったのは、以下のCGIを作成しそこにリンク
link.cgi?link=1
CGIの中でこの「link=1」といった一般的には意味のない情報を本来のリンクを結びつけて
JavaScriptを生成し、元のCGIに飛ばすものでした。
そのときに生成するJavaScriptから結局見られたくないURLがわかってしまうという問題が発生しています。
よろしくお願いいたします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- CGI htmlからパラメータで、cgiに渡したい。 1 2023/02/06 16:15
- CGI (フリーの)ツリー掲示版CGI、昔は多用させてもらいましたが・・今セキュリティ上どうでしょう? 2 2023/06/25 07:18
- ホームページ作成・プログラミング CGIが実行可能なHP領域又はレンタルサーバーでおすすめの所を教えてください 現在ホームページ領域の 1 2023/01/01 11:47
- CGI htmlからcgiを自動的に起動させたい 1 2023/02/21 19:39
- CGI CGIで出力するhtmlの<!DOCTYPE html>等のタグは要りますか? 2 2023/02/05 21:26
- CGI CGIが読み書きするデータファイルのパーミッションはさくらのインターネットでは何にするべき? 1 2023/05/02 16:44
- Perl Perlのエラーについてご教授ください。初心者です。 CGIを別サーバに移したところ、Perlのバー 5 2023/05/31 10:48
- Chrome(クローム) Chromeの描画領域を2分割して異なるスクロール位置を同時に表示させることはできますか 1 2023/03/01 16:53
- CGI 「CGIにより定義されていない」とは・・・ ? 3 2023/01/01 12:00
- Perl perlのrequireの動き方についての質問 2 2022/10/30 17:27
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
確認画面で表示される商品名に...
-
チェックボックスの返す値
-
別formのhidden項目を自form値...
-
cgi(サイト内検索?)について。
-
<FORM TARGET="">で開く窓の大...
-
VBAでWEBもっと見るを押して...
-
Error: No Recipient というエ...
-
SUN BBSの改造方法
-
掲示板(kentさんの所のsunbbs...
-
wordの数式について 定積分を書...
-
ラジオボタンが両方とも選択で...
-
関数について
-
wait を使うのでしょうか?
-
[HTML]プルダウンメニューの横...
-
このタグをおしえてください
-
CGI.pmのstart_htmlで思い通り...
-
GoogleMapsAPIを利用したマッシ...
-
VB初心者。小数点以下の表示で...
-
カウントダウンを何個も表示し...
-
popular among popularの違いを...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
チェックボックスの返す値
-
別formのhidden項目を自form値...
-
ボタンの処理
-
Error: No Recipient というエ...
-
チェックボックスで選択した内...
-
CGIプログラムでのボタン表...
-
submitボタンを押されると
-
CGIで得た内容をHTMlページに代入
-
CGIフォームから飛ばすメールが...
-
メールフォームで良いサイト
-
CGIでチェックボックスのエラー...
-
python subprocessに関する質問
-
アンケートフォームで前のペー...
-
チェックボックスの入力チェック
-
フォームのvalueを変更する方法
-
namazu 検索窓の設置について
-
1つのformに2つのsubmitボタン
-
CGIからサイズ指定のwindowopen...
-
cgi.pmを使ったcgiに変更したの...
-
CGIに渡しているパラメータを表...
おすすめ情報