• ベストアンサー

複数のページへのデータの受け渡しって?

知識が無く、言葉遣いがおかしいかもしれませんが許して下さい(^^; A.cgiで$scoreという、数字の入った変数を使っていました。 そして、リンクをクリックしてB.cgiへとジャンプしたとします。 そこで、A.cgiで使っていた$scoreをB.cgiでも使いたいのですが、 どうやればいいのかわかりません。 1:ファイルオープン・書き込みを使わない 2:アドレスの最後から、?でつなげる奴は使わない 3:A.cgiにはB・C・D・Eへのリンクもあり、その全てのページでも$scoreを使いたい の3つを守ったもので、何か良い方法は無いでしょうか? よろしくお願いします。

  • CGI
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • Hasty
  • ベストアンサー率73% (19/26)
回答No.1

クッキーを使う。 または、隠しフォーム(method="post")のhiddenにセットしておき、リンクがクリックされたらJavaScriptでactionを変更して送信する。 とか?

EnstenCoul
質問者

お礼

早い回答どうもありがとうございました。 クッキーの事全く頭にありませんでした(汗 少し調べてみたら、思い通りの事が出来そうでやる気が出てきました(^^ 隠しフォームのほうよりクッキーのほうがスッキリいきそうなので、クッキーやってみます。

その他の回答 (1)

  • galluda
  • ベストアンサー率35% (440/1242)
回答No.2

がると申します。 んっと…「データを次のプログラムに受け渡したい」のであろうと推測いたしますが。 おっしゃってるNGを考慮しますと…選択肢が狭まります。 1.Cookieを用いる 2.すべてformで遷移すると過程して、データをhiddenに埋め込む あたりでしょうか。上記の応用として 3.セッション変数を使う(PHPなら言語が実装しています-出来はいまひとつですが-) というあたりが選択肢になろうかと思います(物凄く奇天烈にいくならほかにもありますが、普通に実装するならこんなもんかと)。 なにか不明点などあったら、質問していただければまた折り返せるかと思います。

EnstenCoul
質問者

お礼

やはりクッキーが有力候補みたいですね~。 hidden埋め込みは、ソースを見たらバレバレだったり 改造されたりしそうな気がしたので、クッキーを試してみます。 Perlだけで既に頭パンクしそうなのでPHPまで手を出せそうにないです(><。 ご丁寧にどうもありがとうございました~!

関連するQ&A

  • 心理テストページをCGIで作りたいのですが…

    CGI初心者(というより全くわかりませんが・・・)ですがどなたか教えていただけませんでしょうか?? チェックボックスのチェックされたの数によって、 ジャンプするページを変えるには、 どのようなプログラムを組めば良いのでしょうか? 例えば、 チェックが0~5個だと、Aページへジャンプ。 チェックが、6~10個だと、Bページへジャンプとか、 そういう感じです。 いろいろ調べていたらCGIというものを使えばできるようですが、全く知識が無く困っています(泣) HTMLならある程度は理解できます。 すみません、助言をよろしくお願いします。

    • ベストアンサー
    • CGI
  • CGI1からCGI2への変数の受け渡しと表示

    他のご質問読んでもわからなくて笑 CGIの知識は、書いてあるとおりに設定を変えたりhtmlとか書き出すところの内容変えたり…いらないところに#を付けて、うごくかなぁってドキドキしている程度です(笑)わかりにく。 今回は、まず、キリ番のCGI-Aがあります。そのCGI-Aはキリ番GETしたら登録formが出てきます。登録があったらメールが管理人宛てにくるんです、その時、変数で、フォームで書いてもらった内容+その人の取ったカウント数・時間・エージェント・HOSTが、一緒に記載されてきます。 CGIではこんな感じ↓ print MAIL "時間 : $adate\n"; print MAIL "ホスト: $ahost\n"; print MAIL "使用PC: $kuag\n"; print MAIL "名前 : $aname\n"; print MAIL "カウント : $acount\n"; print MAIL "メール: $email\n"; ってちゃんと送られてきます。 で、この変数なんですが、同ディレクトリにあるメールフォームのCGI-Bに渡して(CGI-Aで登録したら必ずCGI-Bにくると)、CGI-Bが送るメールにも乗せたいのです。CGI-Bのなかのメールの雛型?の部分に ここです↓ #メール内容 $body.="取得時間 : $adate\n"; $body.="ホスト : $ahost\n"; $body.="使用PC : $auag\n"; $body.="メール : $email\n"; $body.="内容 : $nowdate\n"; 内容ってのはCGI-Bのメールフォームに書いてもらったことを表示します。でその上の4つなんですが、それがCGI-Aの変数で、これをCGI-Bのメールに一緒に送らせたいわけです。 そこで、CGI-Aの変数をCGI-Bに持ってくるにはどうするか、素人なりに考えて #キリ番からの情報取得 require "./CGI-A.cgi"; とか考えて書いてみて、やったんですが、見事に失敗しました。どうすれば変数だけをわたせますか?教えてください。 不適切な表現とかありましたら勘弁してください。 補足など、待ってます。

    • ベストアンサー
    • CGI
  • ASPへのデータの受け渡しについて

    以下のようなリンクが自動生成されるHTMLをつくりました。 http://**********/****/zzz.asp?A=5,B=nande zzz.aspの内部で A=request.querystring("A") B=request.querystring("B") と記述して、受け渡しを完了しているのですが、 Aについては数値として扱いたいのですが、 チェックをしていると、どうも文字列として変数の中に格納されているようです。 ここで質問です。 (1)requestオブジェクトを使って値の受け渡しをした場合 すべて受け渡し後は文字列としてしか扱えないのでしょうか? (2)文字列としてしか扱えない場合、数値として受け渡し後に 扱いたい場合の対処方法はあるのでしょうか? ちなみに受け渡しの時のMethodはGetを使っています。 よろしくお願いします。

  • ページ間でデータを渡したい.

    どこで質問して良いかわからなかったのでここに掲載しました. やりたいことはある複数あるhtmlファイルに記述した項目を同じリンク先のページに表示したいのです. たとえばAファイルとBファイルがあるとします. リンク先のページは共通でCファイルとします. Aファイルの項目にはa・b・cと3項目あったとして Bファイルにもd・e・fと項目があります. 項目名としては同じですが内容が異なります. この項目をCファイルではx・y・zという データ項目を受け取るものを用意します. それを Aファイル項目a→Cファイル項目xへ Bファイル項目d→Cファイル項目xへ と順番通り表示するにはどうしたら良いのでしょうか? AファイルBファイルとも項目名や項目内容をページ内に表示する必要はなく Cファイルにリンクした時にその内容を表示したいのです. javaScriptのINPUT命令でやってみたのですが値が渡されず表示されない状態です. なんせ参考書を見ながら作成している程度の知識ですのでよくわかっていません. 実は作成方法からして間違っているのかもしれませんが・・・. どなたか教えて頂けないでしょうか. すみませんがよろしくお願いします.

  • 変数をリンクで使う

    Aのホ-ムPから、Bのホ-ムPへ 下記のコ-ドで print "<A HREF=\"./cgi-bin/photobbns.cgi?mode=disp&no=$abc\">\n"; 変数$abcを引数としてリンクで渡しBのホ-ムPで変数$abcを 使用したいのですが、変数$abcが数字の時は使えるのですが 変数$abcが文字の時は使えません、 文字の時も使える方法はありますか。

    • ベストアンサー
    • CGI
  • 別のページに戻りたい

    こんにちは。 以前、ASPで似たような質問をさせてもらったのですが、再度質問です。 perlでCGIを作成しています。 現在、a.cgiからb.cgiをリンクで呼び出し、b.cgiからはフォームでc.cgiを呼び出し、c.cgiからはLocationでa.cgiに自動で戻るようになっています。 a.cgi->b.cgi->c.cgi->a.cgi ここで、b.cgiをx.cgiからも呼び出したいと思ったのですが、最後、c.cgiからはやはりa.cgiに戻ってしまいます。 この場合に、c.cgiから、x.cgiへ戻るようにすることは可能でしょうか? a.cgi->b.cgi->c.cgi->a.cgi x.cgi->b.cgi->c.cgi->x.cgi とりあえず、1つの方法として、HTTP_REFERERをhiddenでb.cgiの画面に埋め込んでc.cgiに渡すことは考えました。 なるべくブラウザの環境に依存したくないので、javascriptやクッキーは使わないとして、他に方法はないでしょうか?

    • 締切済み
    • CGI
  • 複数のラジオボタンでの選択で、指定したリンクページへジャンプ

    はじめまして。ミドリと申します。 JavaScriptで以下のようなものが使用したくて調べてみたのですが、ツリーメニューや1つを選択してジャンプ、というものしか見つけられず、ぜひ教えを乞いたく参りました。 どうぞ宜しくお願い致します。 ラジオボタンを複数用意して、選択した項目によってそれぞれ別のリンクへと飛ばすといった具合になります。 【 例 】 (1)1つめを選択してください。(メイン)    ○A ○B ○C (2)2つめを選択してください。(サブ)    ○D ○E ○F ○G                  【OK】 ――― ・AとD → リンク/ページ1へ ・AとE → リンク/ページ2へ   ・   ・ ・CとG → リンク/ページ12へ  このような感じになります。  もしかしたら、ものすごく難しいことなのかもしれない…―とそれすら分からない、JavaScriptかじりたての初心者ですが、もし沿うものがございましたらどうぞ宜しくお願い致します。  大変お手数をお掛け致します。

  • getURLでcgiへ変数を渡す時、&が使えない

    質問させてください ボタンを押すとhttp://www.***.com/*.cgiにa=1&b=2という変数を渡したいんですが、 getURL("http://www.***.com/*.cgi?a=1&b=2","_blank"); ではうまくいきません。 ブラウザのアドレス欄を見ると、&以降のアドレスが消えてしまっています。 「&」はどう扱えばいいんでしょうか?? あとgetURL("http://www.***.com/*.cgi?a=1&b=2","_blank","GET"); とすると フラッシュ内で使っている他の変数も送信してしまいます(>< http://www.***.com/*.cgi?a=1&b=2&c=3&d=4 のように… ちなみに ブラウザでhttp://www.***.com/*.cgi?a=1&b=2と直接入力するとうまくいきます。 どなたかよろしくおねがいします!

  • トップページにジャンプさせる方法

    大手のポータルサイトが自分のHPのトップページ以外に勝手にリンクを貼っています。 これまでアドレスを変えて対処してたのですが、 さっき見たらちゃっかり新しいアドレスに変更されてました。 リンクを辿ってもすぐどこかのページにジャンプするHPを これまでよく見たことがあるのですが どうやればいいのでしょう?トップページにジャンプするようにしたいのです。 HTMLやcgi、FLASHには詳しくないので無理でしょうか? 多少ならスタイルシートはいじります。 個人サイトなら気にしないのですが、プロがそういうことをやるのがどうにも腹が立ちます。

  • 違うページの変数を使用する

    JavaScriptを最近独学ではじめました。 サイトを立ち上げているのですが、 Aと言うページがあります。 Aと言うページの中に、Bにつながるリンクをおいています。 そのBにつながるリンクをクリックすると、Aのページに定義されている関数、『out(data)』が読み出されます。 Bにつながるリンクには、『onClick="out(aaaaa)"』があるとします。 このBにつながるリンクをクリックすると、Aのページのdataにaaaaaが入りますよね? このaaaaaをBのページの変数textに入れたい場合は、どのようにすればいいのでしょうか。 JavaScriptにグローバル変数と言うものはあるのでしょうか。 検索をかけても、意味が良く分かりません。 すみませんが、ご教授ください。 お願いします。

専門家に質問してみよう