• 締切済み

普通のHTMLの画面からCGIへリンクを貼るには?

誰か助けてくれる方おしえていただけますでしょうか 何個か質問があります。 ▼一つ目 HTMLでトップページを作りました。 次にCGIでプログラムを作りHTMLを吐き出す”○○○.cgi”を作りました。 トップページ(HTML)から○○○.cgiへリンクを貼る方法をおしえてもらえないでしょうか? 現在の対応としては・・ ●普通にリンクを貼ってみましたが、ファイルをダウンロードする格好になってしまいました。 ▼二つ目 perlとmysqlを使ってCGIを作っています。内容的には、必要なデータを登録し、それを検索する作業を作っています。キーワードの検索をした時に引っかかってきた内容を一覧画面に表示させる時に、○×件ごとに画面に表示させたいのですが方法が分かりません。 例えば検索結果を10件ごとに画面に表示させるにはどのようにしたらよいのでしょうか? どうか教えて下さい。 ▼三つ目 先ほどと状況適には変りませんが、今度は情報を登録する時の事です。 情報をインプットボックスに入力してもらいそれをmysqlのDBに格納するようにしています。しかし入力する手間を省くためにコンボボックスやチェックボックスなどに代入できる物はしたいと考えています。 しかし普通にやったのではだめなのでしょうか? 又一度入力したデータを変更があったために少し入力データを編集できるようにしています。 どうかおしえていただけないでしょうか 文章が長々となってしまいましたがどうぞ助けて下さい。(回答して頂いた方にはすぐにお礼、補足説明などをさせて頂きます。)

  • aeic
  • お礼率10% (60/582)
  • CGI
  • 回答数8
  • ありがとう数18

みんなの回答

  • kazu-kun
  • ベストアンサー率31% (72/232)
回答No.8

一応、確認ですが、ブラウザ依存はなしですよね? (MSIEでもNNでも同じですよね?) やはり、CGIが吐き出すHTMLのヘッダにContent-Typeヘッダが ないんじゃないかと思うんですが。

aeic
質問者

お礼

回答頂いてありがとうございます。 そのとおりでした。 トップページにCntent-Tyoeを入れた所、画面が表示されるようになりました。 どうもありがとうございます。 (涙)

  • kazu-kun
  • ベストアンサー率31% (72/232)
回答No.7

一つ目は解決したんでしょうか? トップページは表示できているんですよね? それでHTMLを吐き出すCGIを実行するとどうなるんですか? スクリプトの中身が表示されてしまうんですか? 「普通に」とか曖昧な書き方だと状況がよく分からないです。

aeic
質問者

お礼

ご指摘ありがとうございます。 kazuさんの言う通りです。 トップページは表示できるのですがリンクを貼りそこからCGIのファイルに飛ばす時にクリックするとウィンドウが現れます。 メッセージは”ファイルに保存する、ファイルを開く” というメッセージが現れます。 という事です。 何か手がかりになる事がございましたら どうか教えて頂けないでしょうか?

  • noopee
  • ベストアンサー率38% (114/297)
回答No.6

再び。 3について。 「最初から」というのは、aeicさんが「普通にやる」というのと同じ方法です。 もし、セットしたい情報の項目や数が変化するのでしたら、別のテーブルに入れておいて、そこから持ってくるようにした方がいいと思います。 その友達がおっしゃっている「もっと特殊なやり方」ってどんなのでしょう。 別に、htmlでの入力ならこれ以外の特殊な方法なんていらないと思うんですが...。 それ以外は使ったことなくて、思い当たる方法がないので。 先ほどの2についての修正。 print "hiddenかリンクアドレスでname=$beforepage…"; と書きましたが、name=page、value=$beforepageか、page=$beforepage&その他条件等の間違いでした。

  • noopee
  • ベストアンサー率38% (114/297)
回答No.5

2について。 1、検索結果が何件あるかをカウント 2、?ページ目か(現在表示しているものが10件ごとの何回目に当たるか) 3、判断したものから10件を表示(DB使用ならIDナンバーなどから) 4、次ページのための変数をセット 私は以下のようにしてます。 ****************************** $max_db_get = 検索結果の件数; $max_page_print = 表示させたい件数; if ($page eq '' || $page == 0){ $page_start = 0; } else{ $page_start = $page; } $end_data = $max_db_get; $page_end = $page_start + ($max_page_print -1); if ($page_end >= $end_data) { $page_end = $end_data;} foreach ($page_start .. $page_end) { $i = $_; 変数群表示; } $nextpage = $page_end + 1; $beforepage = $page_start - $max_page_print; if (($end_data - $page_start) >= $max_page_print) { print "インプットボタン「次へ」orリンク"; print "hiddenかリンクアドレスでname=$nextpage・毎回検索の時は検索条件等の変数をセット"; } if ($page_start ne 0 && $beforepage >= 0) { print "インプットボタン「前へ」orリンク"; print "hiddenかリンクアドレスでname=$beforepage・毎回検索の時は検索条件等の変数をセット"; } ****************************** 3について。 よくある住所や職業のような形態の情報なら、別テーブルにそれをセットしておいて、そこから持ってくるか、最初から表示させておく、というのはダメなんでしょうか。 「普通にやったのではだめなのか」という意味がよくわかりません。

aeic
質問者

お礼

noopeeさん本当にありがとうございます。 すごく助かりました。 3についてですが、最初から表示させるやりかたというのはどのようななりかたなのでしょうか?具体的に教えていただけないでしょうか? また”普通にやったのでは”というのは <FONT size="+1">場所SELECT NAME="DBUNRUI" SIZE="1"> <option value="zz">全部 <option value=a>農業 <option value=m>公務 . . . <option value=n>分類不能産 </SELECT></TD> ような状態で入れるという形式の事です。 友達に聞いたのですがそのやり方ではなくもっと特殊なやり方でないとだめだときたのですが・・・

  • natural
  • ベストアンサー率37% (419/1115)
回答No.4

No2のnaturalです。 すいません、フォーム入力が要らないなら件の方法ではないですね。(^_^; フォームが伴う場合のみとして聞き流してください。

  • GOLDEN
  • ベストアンサー率46% (283/607)
回答No.3

1:.htaccessというファイルを作成し、その中に.cgiは実行形式のファイルだと 言うことを記述してやります↓ AddType application/x-httpd-cgi .cgi と書けばOKです その上で、.cgiのファイルのパーミッションを実行可能に変更すればOKです ちなみに、.htaccessは、そのファイルが存在する場所以下のすべてのディレクト リに於いて有効ですので、cgiが存在する最初の場所よりも、index.htm等がある 場所に置いた方がいいでしょう 2、3についてはちょっとわかりません・・・ゴメンなさい

  • natural
  • ベストアンサー率37% (419/1115)
回答No.2

とりあえず一つ目だけですが・・・。 CGIの呼び出しはformタグのactionで指定できます。

  • kazu-kun
  • ベストアンサー率31% (72/232)
回答No.1

mysqlについては知りませんので、一つ目だけ。 普通にリンクするだけでいいはずですよ。 ダウンロードする格好とは、あのブラウザが出すダイアログのことですか? そうなら、ブラウザがHTMLと認識していないということですから、 Content-Typeがおかしいのでは?(text/htmlになっていないのでは?)

aeic
質問者

お礼

わざわざご足労して頂きありがとうございます。 <<-- Content-Typeがおかしいのでは?(text/htmlになっていないのでは?) -->> というありがたいアドバイスですが、トップページ側(HTML)なのかCGI側にファイルに入れるのかが解りませんでした。 どちらなのかおしえていただけないでしょうか? 失礼します。

関連するQ&A

  • CGIでリンクのような…。

    データをcgiのforを使ってデータ数分表示しています。 (タイトルのみ) そのタイトルをクリックしたらそのデータの詳細を表示するようにしたいのです。 HTMLでいうところのA HREFです。 テキストボックスを使って番号とかで検索とかも考えたのですがやはりリンクのようにしたいのです。 どのようにしたらいいのでしょうか?

    • 締切済み
    • CGI
  • アプレットからCGI/HTMLを呼び出すには

    Javaアプレットで作成された変数をCGI/HTMLに渡して、それを呼び出すことは可能でしょうか?アプレットで入力されたデータをCGIを使用してDB登録および各種加工し、その結果を画面表示したいのですが、どのようにすればいいかわかりません。 どうぞよろしくお願いいたします。

  • トップページHTMLに更新日を自動的にさせる方法を探しています。

    トップページHTML ┣HTML1 |┗…HTML2 ┣HTML3 ┣CGI1 |┗…HTML4 ┗CGI2 …┗…DATA1 トップページHTMLに更新日を自動的にさせる方法を探しています。 HTML1にはHTML2のリンクが張ってあります。 HTML3はそのものを変更しています。 CGI1はHTML4のテンプレートを使って変更しています。 CGI2はDATA1に更新データを書き込んでいます。 トップページで表示させたい更新は ・HTML2 ・HTML3 ・CGI1 ・CGI2 以上の4つです。 ジャバスクリプトでもCGIでも何でも方法は問いません。

    • ベストアンサー
    • HTML
  • 「SubmitせずにAjaxからCGIを呼び出して結果をHTML上に表

    「SubmitせずにAjaxからCGIを呼び出して結果をHTML上に表示したい」 HTMLファイル上にテキストボックスとそれと対になるラベル(ラベルじゃなくても良いのですが。。)のセットがいくつかあります。 テキストボックスにコードを入力したら、ラベルにそのコードに対応する商品名を表示したいと思っています。 テキストボックスにコードを入力後、フォーカスが離れたら(Onchangeで)Ajaxでそのコードの値を取得し、そのデータをCGIに渡してサーバにあるDBに接続し、その結果をHTML上のラベルに表示したいと思います。 Sbmitせずにフォーカスが離れた場合に、データをCGIに受け渡し、そのデータを画面遷移しないで、HTML上に表示するのはどのようにすればいいのでしょうか。 Ajaxを使えばいいと教わったのですが、色んなサイトを調べてみたのですが、Ajaxが初心者で、よくわからず、コードなどございましたら教えて頂けましたら嬉しいです。 よろしくお願い致します。

    • ベストアンサー
    • AJAX
  • index.htmlからCGIへリンクを貼る時

    質問内容を見て頂きありがとうございます。 トップページを作り(index.html)そこからCGIにリンクを貼りました。実際にリンクボタンをクリックすると、ダウロード画面になり、CGIにリンクする事が出来ません。 どのようにしてCGIにリンクを貼れば良いのかおしえていただけないでしょか? 宜しくお願いします。

    • 締切済み
    • CGI
  • 相互リンク用のフリーCGI探してます

    私はサイトを数件開いているのですが、相互リンクの依頼がある度に、HTMLのページに依頼サイトのバーナーやリンクを貼って、その度にFTPでアップロードしなければなりません。 そこで、相互リンク用のフリーCGIを探してます。それならば、いちいちHTMLに書き込んでFTPでアップしなくても、ブラウザ上で出来るので便利です。普通の掲示板でも相互リンクしようと思えば出来ますが、やはり、バーナー画像にリンクなどが出来ないので、相互リンク専用のCGIが嬉しいです。 ページごと貸してるレンタルCGIではなく、私のサーバ上でCGIを置きたいので、フリーCGIで探してます。 いくつかあれば、沢山お教えください。よろしくお願い致します。

    • ベストアンサー
    • CGI
  • HTMLに書き換えてくれるリンク集を探しています。

    現在Plala(プロバイダ)にてCGI-PLANTの リンクマネージャー Ver2.1を使っています。 バナー(画像)もアップロード出来るので重宝していますが、 既に登録したリンク先のコメント文を書き換えると アップロードしたバナーが消えてしまうので困っています。。 Plalaの場合は「同時に実行できるCGIが1つ」の制限があるので、 CGIで作ったリンク集をHTMLに書き換えてくれるモノを探しています。 検索しましたが、見つからないのでお尋ねする次第です。 宜しくご指導をお願いしますm(_'_)m

    • ベストアンサー
    • CGI
  • リンク先を全画面で表示

    HTMLを作成していますが、リンク先(cgi)をクリックした時全画面で表示させるにはどう書きますか? <A href="http://www.abc.com/aaa.cgi" target="_top">aaa</A> で書いたが、全画面で表示しません。 序にもう一つ質問ですが、カーソルを右クリック時出てくるメニューを無効にしたいのは可能ですか? よろしくお願い致します。

  • 更新情報(Whats_new)をCGIでリンク付きで管理したい場合

    サイトのトップなどによくサイトの更新情報や新着情報がありますが、この記事にリンクをつけて掲載するCGIで以下の条件を満たしたものはありますでしょうか。 ・管理者画面から入力。 ・CSSかスキンなどで比較的容易にデザインの変更可能 ・新着が上に表示される。 ・記事の記載部分がリンクとなっている。 ・管理画面にコンテンツのアドレスなどを登録しておけて、記事を登録する際に更新したURLをペーストするのではなく、既に登録済みのアドレスからプルダウンなどで選択出来る。 ・リンク先のフレームを_blankや_topに変更出来る(これはCGIそのものの改変でも可) 今、試しに既存のCGIのリンク集を改変して作っているのですが、管理画面に更新したページのリンクをその都度、貼らなければならないのと、表示部分が新しい記事が末尾に追加される点で悩んでいます。 既存のCGIでこういったものがあるのか、それともCGIをカスタマイズすべきなのか、それともイチから作成すべきものなのでしょうか。 他にもこのようなやり方がある、などありましたら、アドバイス頂ければ幸いです。

    • 締切済み
    • CGI
  • 検索とHTML

    「編集(E)」「このページを検索」で、ページ内の語句を検索できますが、HTMLのプログラミングで、これと同様の、ウインドウを開いたり、あるいは、固定した検索ボックスはつくれないでしょうか。 例えば、OKWebのトップページにある「Q&A検索」のようなデザインで、そのページ内の該当語句にジャンプするといった具合です。 本格的な検索ボックスは、CGI等の技術が必要だと思いますが、ページ内の検索のみです。何か、HTMLでは作れないでしょうか。 もし、出来なければ、「編集(E)」「このページを検索」を起動させるボタンは作れないでしょうか。出来れば、HTMLの見本を頂きたいです。よろしくお願いします。

    • ベストアンサー
    • HTML