
画像掲示板を改造しようとしていますが、分かりません。
よろしくお願い致します。
元の画像掲示板をmoto.cgiとします。
そこに投稿された画像のURLは、$gazo_urlという変数になっています。
別のCGIをbetu.cgiとすると、
betu.cgiに画像を表示させるには、どうしたらいいのでしょうか?
betu.cgiに↓こんなふうに書いても全然ダメでした。
<IMG SRC="$gazo_url" BORDER="0" >
ド素人ですいません。
よろしく教えてください。
No.2ベストアンサー
- 回答日時:
No.1です。
> > <IMG SRC="$gazo_url" BORDER="0" >
>
> って考えたって事は。。。
> betu.cgiの中で、上記の記述以前に変数$gazo_urlを使っているのですか?その場合、変数の中身はどうなっていますか?
> イメージタグではなく、単に$gazo_urlの中身を画面に表示するようにするとどうなっていますか?
>
> 何にも入っていません。nullです。
なるほど。
moto.cgiからbetu.cgiへ画面を経由してmoto.cgiの中で使用している変数$gazo_urlの値を渡していないことがハッキリしました。
で、渡す方法は先に書いた方法が基本です。
ブラウザからサーバーへブラウザの画面上で入力された値(テキストフィールドにキーボード入力した値やラジオボタンで選択した値)を渡す方法にGETのパラメータとPUTのパラメータがあるのはご存知ですね?
URLの後ろに /?hensu=1 といった感じに「変数=変数値」を付けて渡すのがGET。画面のHTML内にFORMを設け、その中の変数を使って渡すのがPUT。
先に書いたのはmoto.cgiが、送出する(生成すると言った方が感覚的に分かりやすいか?)HTMLの中にFORMを設け、その中にtype="hidden"の変数を定義してこれにbetu.cgiが期待するファイル名なりbetu.cgiから見たファイルの相対パス(または絶対パス)を入れればよいということです。
こういう説明でわかるでしょうか?
Javaだと一連の画面遷移で何か一つの処理をしようとする場合、最初のログインなり、ログインが無ければ動き始めの画面を送出するプログラムがセッションを定義すれば、後のプログラムはこのセッションを使って後続のプログラムに変数値を渡せるのですが、セッションを使えない場合は画面を経由して渡すしか方法はありません。
いろんなものを画面経由で渡すのはわずらわしいですしブラウ側で表示中の画面のHTMLを見るとわかるので、あからさまにあるとカッコ悪いだけでなくセキュリティー上も好ましくありません。
なので、動作中の利用者の識別子だけを画面経由で持ちまわすようにし、サーバー側では何らかの方法でその識別子を使って必用な情報を得るようにするのが好ましいです。例えばデータベース上のあるテーブルに後発プログラムで必用な値を保持するとか。
その場合の問題はそのテーブルの当該レコードを何時誰が消して綺麗にするかです。ある利用者は最後の画面まで行かないうちに途中で操作をやめてしまう場合もあるでしょうし。
そういったことも考えながら設計されるとよいでしょう。
zircon3さん
私のようなド素人に丁寧に教えていただき感謝しています。
教えていただいたようにformでhiddenでやろうと思います。
とりあえず、やってみましたが、送り出しはいいように思いますが、betu.cgiでの引き出しがうまくいかない感じです。
いま、とりあえず、formのお勉強をしています。
よく分かりませんが、CGI.pmを使おうと思っています。
ありがとうございました。みちしるべが出来ました。
No.1
- 回答日時:
処理の流れは以下のような感じなのでしょうか?
プログラムの拡張子が.cgiってことは開発言語はJava以外?
サーバ上でセッション・オブジェクトとかは使えない?
(1) サーバー上のmoto.cgiで件の画像を含む画面を表示
(2) 表示した画面でOKボタン等を押すとサーバー上のbetu.cgiが動作
(3) betu.cgiで件の画像を含む別の画面を表示
もしそうなのでしたらmoto.cgiの中で使っている変数を、全く別のタイミングで動くbetu.cgiで使うことは出来ません。betu.cgiの中で$gazo_urlという変数名を用いても、それはあくまでもbetu.cgiの中で独自に定義した変数であって、moto.cgiとは全く関係有りません。
なのでmoto.cgiからbetu.cgiに何か値を渡したいのであれば、(1)で送出するHTMLの中に匿名変数でその値を持ち、(2)でブラウザからサーバーへPutのパラメータで渡すといったことをしなければなりません。
しかし。。。
> <IMG SRC="$gazo_url" BORDER="0" >
って考えたって事は。。。
betu.cgiの中で、上記の記述以前に変数$gazo_urlを使っているのですか?その場合、変数の中身はどうなっていますか?
イメージタグではなく、単に$gazo_urlの中身を画面に表示するようにするとどうなっていますか?
早々のご回答をありがとうございます。
自分ながらド素人のためお恥ずかしいしだいです。
Perlです。
<A HREF="betu.cgi?gazo=$gazo_url・・・・
とか、そんな感じでできないでしょうか?
>イメージタグではなく、単に$gazo_urlの中身を画面に表示するようにするとどうなっていますか?
何にも入っていません。nullです。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
jcode.plが読み込めない
-
自CGIのURLのパス部分を取得す...
-
画像のURLの変数を別のCG...
-
require文が実行できない
-
月の第一週とは
-
毎週同じ曜日にラブホに行くと...
-
エクセルで毎月第2週日の水曜日...
-
Excelで第一〇曜日を求める方法...
-
週2回のペースって だいたい何...
-
エクセルで相対パスの書き方を...
-
毎○曜日って、使いますか?
-
Perlでマックアドレスの取得
-
関数ヘッダ?
-
ヘッダのinclude順
-
LinuxでRTPヘッダを作りたいの...
-
よくある 『 第○(1・2・3・4・...
-
DBを10件毎に表示ページング...
-
perlの環境変数 ENV{'REMOTE_A...
-
6月の第2 第4火曜日は何日...
-
アンケートなどの1日1回の投...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
jcode.plが読み込めない
-
cgiとplとpm
-
CGIの中にinclude
-
webからroot権限のコマンドを実...
-
ファイル書込時にPermission de...
-
Quantifier follows nothing in...
-
perlのrequireの動き方について...
-
a.cgi → b.cgiへデータの受渡...
-
mt-check.cgiでForbiddenエラー...
-
Perlから他のcgiへPOSTでデータ...
-
Perlccを使ったCGIプログラムの...
-
Location: で cgi → c...
-
“パーミッションを変えて、実行...
-
pushボタンを押した後、画面を...
-
cgi-lib.plの&ReadParse();の()...
-
require文が実行できない
-
apacheのCGI設定について教えて...
-
error_logファイルの中身で教え...
-
エラー出力をなくしたい
-
cgiから別のcgiをコールする方...
おすすめ情報