誰か助けてくれる方おしえていただけますでしょうか

何個か質問があります。
▼一つ目
HTMLでトップページを作りました。
次にCGIでプログラムを作りHTMLを吐き出す”○○○.cgi”を作りました。
トップページ(HTML)から○○○.cgiへリンクを貼る方法をおしえてもらえないでしょうか?
現在の対応としては・・
●普通にリンクを貼ってみましたが、ファイルをダウンロードする格好になってしまいました。

▼二つ目
perlとmysqlを使ってCGIを作っています。内容的には、必要なデータを登録し、それを検索する作業を作っています。キーワードの検索をした時に引っかかってきた内容を一覧画面に表示させる時に、○×件ごとに画面に表示させたいのですが方法が分かりません。
例えば検索結果を10件ごとに画面に表示させるにはどのようにしたらよいのでしょうか? どうか教えて下さい。

▼三つ目
先ほどと状況適には変りませんが、今度は情報を登録する時の事です。
情報をインプットボックスに入力してもらいそれをmysqlのDBに格納するようにしています。しかし入力する手間を省くためにコンボボックスやチェックボックスなどに代入できる物はしたいと考えています。
しかし普通にやったのではだめなのでしょうか?
又一度入力したデータを変更があったために少し入力データを編集できるようにしています。
どうかおしえていただけないでしょうか

文章が長々となってしまいましたがどうぞ助けて下さい。(回答して頂いた方にはすぐにお礼、補足説明などをさせて頂きます。)

このQ&Aに関連する最新のQ&A

A 回答 (8件)

一応、確認ですが、ブラウザ依存はなしですよね?


(MSIEでもNNでも同じですよね?)
やはり、CGIが吐き出すHTMLのヘッダにContent-Typeヘッダが
ないんじゃないかと思うんですが。
    • good
    • 0
この回答へのお礼

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

どうもありがとうございます。
(涙)

お礼日時:2001/07/27 08:15

一つ目は解決したんでしょうか?


トップページは表示できているんですよね?
それでHTMLを吐き出すCGIを実行するとどうなるんですか?
スクリプトの中身が表示されてしまうんですか?
「普通に」とか曖昧な書き方だと状況がよく分からないです。
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/07/26 20:44

再び。


3について。

「最初から」というのは、aeicさんが「普通にやる」というのと同じ方法です。
もし、セットしたい情報の項目や数が変化するのでしたら、別のテーブルに入れておいて、そこから持ってくるようにした方がいいと思います。

その友達がおっしゃっている「もっと特殊なやり方」ってどんなのでしょう。
別に、htmlでの入力ならこれ以外の特殊な方法なんていらないと思うんですが...。
それ以外は使ったことなくて、思い当たる方法がないので。

先ほどの2についての修正。
print "hiddenかリンクアドレスでname=$beforepage…";
と書きましたが、name=page、value=$beforepageか、page=$beforepage&その他条件等の間違いでした。
    • good
    • 0

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について。
よくある住所や職業のような形態の情報なら、別テーブルにそれをセットしておいて、そこから持ってくるか、最初から表示させておく、というのはダメなんでしょうか。
「普通にやったのではだめなのか」という意味がよくわかりません。
    • good
    • 0
この回答へのお礼

noopeeさん本当にありがとうございます。
すごく助かりました。

3についてですが、最初から表示させるやりかたというのはどのようななりかたなのでしょうか?具体的に教えていただけないでしょうか?

また”普通にやったのでは”というのは

<FONT size="+1">場所SELECT NAME="DBUNRUI" SIZE="1">
<option value="zz">全部
<option value=a>農業
<option value=m>公務
.
.
.
<option value=n>分類不能産
</SELECT></TD>

ような状態で入れるという形式の事です。
友達に聞いたのですがそのやり方ではなくもっと特殊なやり方でないとだめだときたのですが・・・

お礼日時:2001/07/26 13:44

No2のnaturalです。


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

1:.htaccessというファイルを作成し、その中に.cgiは実行形式のファイルだと


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

2、3についてはちょっとわかりません・・・ゴメンなさい
    • good
    • 0

とりあえず一つ目だけですが・・・。


CGIの呼び出しはformタグのactionで指定できます。
    • good
    • 0

mysqlについては知りませんので、一つ目だけ。


普通にリンクするだけでいいはずですよ。
ダウンロードする格好とは、あのブラウザが出すダイアログのことですか?
そうなら、ブラウザがHTMLと認識していないということですから、
Content-Typeがおかしいのでは?(text/htmlになっていないのでは?)
    • good
    • 0
この回答へのお礼

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

お礼日時:2001/07/26 12:48

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

Q「DNAのクロスリンク」について教えてください

「DNAのクロスリンク」のクロスリンクとは、架橋形成のことでしょうか?

Aベストアンサー

http://www.dojindo.co.jp/letterj/097/reviews_01_main.html
http://www.kyushu.meti.go.jp/web/15_6_30_gi_kikaku/H14FYseika_list/14C8012.pdf
等によるとおっしゃるとおり架橋したものが出来るようです。
なお。ここを閉じて、生物のカテで聞くともっと良いお答えが早くかえってくると思います。

QHTMLスキン型CGIを作るには?

フォームメールの制作を行っているのですが、汎用性を高めるために、HTML部分はすべて外部に書き出して処理に関するところだけをCGIに記述しようと考えています。

まず、デザインテンプレート(HTMLスキン)に$html_contentsなどと挿入位置を記述しておき、
CGIへのアクセスがあった際に、スキンを読み込み、その挿入位置に結果を代入するというものです。

できるなら、エラーメッセージや完了メッセージの部分も外部(HTMLを記述した*.datかな?)ファイルとしたいです。

参考になるサイトもしくは、プログラムをご存知の方はご教授願います。

Aベストアンサー

ここの「スキンボード」が解りやすいかと。

参考URL:http://atom.hostmycgi5.com/

Qクロスケーブルとアップリンクポート

アップリンクポートとパソコンを
クロスケーブルで結ぶと
普通にハブに接続しているのと変わらないのですか?
クロスをクロスにするから大丈夫だとは思うのですが。

どうでしょうか?

Aベストアンサー

その通りです。

クロス、ストレートの選択はいつも悩みの種ですよね。

ちなみに、最近出始めた1000BASE-TのSW-Hubでは、
クロス、ストレートを自動的に認識してくれるので、
このような悩みは不要のようです。

QCGIからHTMLファイルを作るには?

フリーの2ちゃん系の掲示板CGIを見ていて
ふと、思ったのですが
2ちゃんねるって実際に消費者がアクセスするファイルは[.html]ファイルになりますよね?
つまり、CGIでなんらかの処理をして[.html]ファイルにする事ができるんですよね?
どうやったらいいか、ナニカ説明系のページご存知ないですか?

前出のダウンロードをしても、恐ろしくファイルが分かれていて、どこにその処理をしている部分があるのかわからないんです。

HTMLに書き出す要点部分だけが知りたいんですけどね

実はこれ理由があって、(この理由も間違いかもしれないんですけど)
HTMLファイルの方が検索エンジンにひっかかりやすいんでしょ?(だから2ちゃんのスレッドはGOOなどでもひっかかりやすい)と予測してます
ここの拡張子も。PHPなので、引っかかりにくいのではと判断してます。

検索に引っかからせたやすいCGIを作る場合
HTMLに吐き出せるのであれば是非とも利用したいです。

宜しくお願いします。
フリーのCGIをダウンして、ちょっとした改造ぐらいならできる知識程度の持ち主です。

フリーの2ちゃん系の掲示板CGIを見ていて
ふと、思ったのですが
2ちゃんねるって実際に消費者がアクセスするファイルは[.html]ファイルになりますよね?
つまり、CGIでなんらかの処理をして[.html]ファイルにする事ができるんですよね?
どうやったらいいか、ナニカ説明系のページご存知ないですか?

前出のダウンロードをしても、恐ろしくファイルが分かれていて、どこにその処理をしている部分があるのかわからないんです。

HTMLに書き出す要点部分だけが知りたいんですけどね

実はこれ理由があっ...続きを読む

Aベストアンサー

#3です。
>それにしては .cgiファイルよりも.htmlファイルの方が
>上位にきてると思うのは、ただのそのファイルの中身によるものなのかどうかってのがわからなくなりました。

技術的には前回書いたので、ちょっと横道にそれます。
私のblogも xxx.yyyy.ne.jp/zzzz.php?id=myname の形式でしたが、アクセス解析を見ると大半が検索ページからです。一度、「あれ?こんな検索ワードで何でうちのページに来るんだ?」と思ってgoogleでその語を検索して見るとトップだったことがあります。
検索ページからのアクセスを増やすためには、
・メジャーな言葉をいっぱいちりばめ、とにかくヒット率を上げる
・マイナーなアイドル名やカルト系の言葉をいれ、ヒット回数は少なくてもその言葉での検索の上位を目指す
等が考えられると思いますが、個人のページなら本末転倒な気がします。

1日100アクセスあったとして、
1) 100ユーザーが検索ページからアクセスし、他のページは見ていない
2) 10ユーザーが検索ページからアクセスし、それぞれ10ページずつ参照した
のどちらが自分にとって嬉しいでしょうか?
もし後者なら検索でのヒットにこだわらず、内容の充実を図るのが本筋だと思います。そのうち、「リンク元不明≒お気に入りなどからの参照」も増えてくるでしょう。

#3です。
>それにしては .cgiファイルよりも.htmlファイルの方が
>上位にきてると思うのは、ただのそのファイルの中身によるものなのかどうかってのがわからなくなりました。

技術的には前回書いたので、ちょっと横道にそれます。
私のblogも xxx.yyyy.ne.jp/zzzz.php?id=myname の形式でしたが、アクセス解析を見ると大半が検索ページからです。一度、「あれ?こんな検索ワードで何でうちのページに来るんだ?」と思ってgoogleでその語を検索して見るとトップだったことがあります。
検索ページからの...続きを読む

Qクロスケーブルによる直リンクについて

現在、二台のPCを使用していますが、データのやり取りが今まではCDでしか出来ませんでした
HPなどを調べて、なんとかクロスケーブルで二台を直リンクできることまでわかり、データ転送をしています

が、よく、トラブルが起きるのです。
メインがダイナブックのWinXP、ファイル置き場がソーテックのWin98、
いつもはADSLの方に繋いでいるのでLAN接続していないので問題ないですが、いろんなデータが溜まってくるとソーテックのほうにデータを送るようにしているので、
そのときに問題になります。

たまにクロスケーブルで繋ごうとすると、なかなか認識しないんです。
ワークグループを同じ名前にし、IPを下一桁だけずらした数値にし、
サブネットマスクを255.255.255.0にします。

これだけで、たまにちゃんと認識してデータ転送できるんですが、
たまに認識せずに、再起動してみたり設定を解除してもう一度やりなおしたりして、何時間かかかってやっと認識させ、データを移しています。

色々実験していて変なことがわかりました。 マイネットワークにソーテック側のフォルダが表示されていない場合でも、IPをまったく同じ数値に設定すると「競合しています」って出るんです。
つまり、一応ちゃんと繋がってると思うんですが、、、、

今日、知人のHDDにデータを送ろうとして、同様にクロスケーブルで繋ぎ、
同じように設定したんですが、その時はいくら色々設定しなおしてもお互いがお互いを認識することが出来ませんでした。
しかし、そのときも試しに同じIPを設定してみたら 競合しています と出ました
知人の本体はIBMのw2kです。

どうやったら自家製直リンクLAN,すんなり認識してくれるんでしょうか?

現在、二台のPCを使用していますが、データのやり取りが今まではCDでしか出来ませんでした
HPなどを調べて、なんとかクロスケーブルで二台を直リンクできることまでわかり、データ転送をしています

が、よく、トラブルが起きるのです。
メインがダイナブックのWinXP、ファイル置き場がソーテックのWin98、
いつもはADSLの方に繋いでいるのでLAN接続していないので問題ないですが、いろんなデータが溜まってくるとソーテックのほうにデータを送るようにしているので、
そのときに問題になりま...続きを読む

Aベストアンサー

>たまにクロスケーブルで繋ごうとすると、なかなか認識しないんです。
基本的な事をお伺いします。
・これは、ネットワークコンピュータに相手が現れないという事ですか?
・通信は出来ているのでしょうか?
(コマンドプロンプトで「ping 相手のIPアドレス」とやってみましたか)
・検索で相手のコンピュータを検索しても、検索できませんか?
・共有フォルダを例えばX:ドライブにマッピング出来ませんか?
(ネットワークドライブの割当てで、共有名を \\相手のコンピュータ名\共有名
 として、X:ドライブなどに割当てできませんか)

IPアドレスの競合は検出されるという事なので、電気的には繋がって
いると思われます。エクスプローラなどで直接見えないだけであれば、
マイクロソフトネットワークの扱いにくさが問題なのかもしれませんね。

繋がった時に、共有フォルダのショートカットを作っておき、再接続の時は
ショートカットを開く というやり方もありますがどうでしょうか。

また、ファイルを転送するだけであれば、ソーテック側にFTPサーバソフト
を入れてGUIのFTPクライアント(FFFTPなど)で転送する手もあります。

そうじゃなくて、根本的な問題(pingが応答しない)なのでしょうか?

>たまにクロスケーブルで繋ごうとすると、なかなか認識しないんです。
基本的な事をお伺いします。
・これは、ネットワークコンピュータに相手が現れないという事ですか?
・通信は出来ているのでしょうか?
(コマンドプロンプトで「ping 相手のIPアドレス」とやってみましたか)
・検索で相手のコンピュータを検索しても、検索できませんか?
・共有フォルダを例えばX:ドライブにマッピング出来ませんか?
(ネットワークドライブの割当てで、共有名を \\相手のコンピュータ名\共有名
 として、X:ド...続きを読む

Q初CGI設置。しかし・・・

皆様、こんばんわ。
フリーの日記帳ソフトをダウンロードして
HPにはめ込もうと思っています。
使用しているサーバーはwebarena(NTTPCコミュニケーションズ)なのですが、
どうにもうまくいきません。
サーバーへの初期設定の問題、
パーミッション設定、
この辺が良くわからないです。
http://stnight.pekori.to/download/schedule/index.html
がフリーソフトのありかです。

教えていただけれると大変助かります。

Aベストアンサー

まず、CGIプログラムの構成は以下のように案内されています。

pulic_html /
|
+-- index.html
|
+-- cgi-bin /
|
+-- schedule / [777]
|
+-- schedule.cgi [755]
+-- holiday.txt [644]
+-- yyyymm.txt [666]
+-- :
+-- yyyymm.txt [666]
+-- yyyymm.000 [666]
+-- yyyymm.001 [666]
+-- yyyymm.002 [666]
+-- jcode.pl [644]

また、サーバーには以下のような制限があります。
(参考URL参照)

=ご注意=
WebARENA SuiteのサーバーではSuEXECというラッパープログラムが動作しており、CGIを置くディレクトリやCGIの実行ファイルの グループ(group)や第三者(other)に対して書き込み権(w)が設定されているとエラーになってしまいます。 CGIのマニュアルに777(rwxrwxrwx)や666(rw-rw-rw-)を設定する様に 説明があった場合でも、その様な値を設定すると正常に動作しませんのでご注意下さい。


パーミションで777とか666は使用できないそうです。
参考URLを読んで適正なパーミッションに変更してください。

参考URL:http://web.arena.ne.jp/suite/support/manual/cgi-cgi/index.html

まず、CGIプログラムの構成は以下のように案内されています。

pulic_html /
|
+-- index.html
|
+-- cgi-bin /
|
+-- schedule / [777]
|
+-- schedule.cgi [755]
+-- holiday.txt [644]
+-- yyyymm.txt [666]
+-- :
+-- yyyymm.txt [666]
+-- yyyymm.000 [666]
...続きを読む

Qリンクにふれると文字表示!(クロスブラウザで)

リンクにふれると文字表示をさせたいのですが、NNでは
指定した色(黄色)と位置(中心)に表示できないので困っています。
タグは以下の通りです。
<HTML>
<HEAD><META HTTP-EQUIV="Content-Type"CONTENT="text/html;CHARSET=x-sjis">
<style type="text/css"><!--
body,tr,td {font-weight:bold; color:yellow}---></style>
<TITLE></TITLE>
<SCRIPT Language="JavaScript">
<!--
isIE4 = (navigator.appVersion.charAt(0)>=4 && (navigator.appVersion).indexOf("MSIE") != -1)
isNN4 = (navigator.appVersion.charAt(0)>=4 && (navigator.appName).indexOf("Netscape")!=-1);

function link_info(m) {
if(m==null) m = "";

if(isIE4) {
el = document.all("LINKMSG1");
el.innerHTML = m;
}
else if(isNN4) {
lay = document.layers["PARENT_LINKMSG"].document.layers["LINKMSG1"];
lay.document.open();
lay.document.write("<font style='font-size:12pt'>"+m+"</font>");
lay.document.close();
}
}
//-->
</SCRIPT>
</HEAD>

<BODY bgcolor="red" BORDER="0" topmargin="7" link="white" alink="yellow" vlink="yellow">
<center>
<ilayer name="PARENT_LINKMSG" width="100%" height="16">
<layer name="LINKMSG1"></layer>
<span id="LINKMSG1"></span>
</ilayer>
</center>
<br>
<center><font style="font-size: 10pt">
<a href="top.html" target="main" onMouseover="link_info('■■TOP■■')" onMouseout="link_info()">
 TOP</a> |
<a href="rink.html" target="main" onMouseover="link_info('■■リンク集です。■■')" onMouseout="link_info()">
 リンク集</a>
</font>
</center>
</BODY>
</HTML>

リンクにふれると文字表示をさせたいのですが、NNでは
指定した色(黄色)と位置(中心)に表示できないので困っています。
タグは以下の通りです。
<HTML>
<HEAD><META HTTP-EQUIV="Content-Type"CONTENT="text/html;CHARSET=x-sjis">
<style type="text/css"><!--
body,tr,td {font-weight:bold; color:yellow}---></style>
<TITLE></TITLE>
<SCRIPT Language="JavaScript">
<!--
isIE4 = (navigator.appVersion.charAt(0)>=4 && (navigator.appVersion).indexOf("MSIE") != -1)
isNN4 = (navigato...続きを読む

Aベストアンサー

NNの4.75では以下の記述で上手く表示できましたが4.5ではどうでしょうか?

lay.document.write("<font style='font-size:12pt'>"+m+"</font>");

lay.document.write("<center><font style='color:yellow; font-size:12pt'>"+m+"</font></center>");
に変えただけです。

Q携帯用URL振り分けCGI(機種ごと)

i-mode、vodafone、ezweb、pcを自動振り分けで
指定のURLへ転送するプログラムはよく見ますが、
docomoでたとえると「P506ic」や「F900ic」などの
機種ごとにそれぞれを転送させるフリーのcgiは
あるのでしょうか?

よく携帯用着メロサイトで曲をダウンロードする際に
「○000用」などと機種が自動で判別されているのを
見かけます。あれと同じようにしたいのですが…

Aベストアンサー

The RoomさんのMobile Jumper Ver.1.01が機種別振り分けも可能のようです。
使用した事がないので、どんな機能なのか分かりかねますが、参考にされてはいかがでしょうか?

【The Room】
http://dream.lib.net/room/index.shtml

【The Room Mobile Jumper Ver.1.01】
http://dream.lib.net/room/cgi/e_mj.html

参考URL:http://dream.lib.net/room/cgi/e_mj.html

QUSBリンクケーブルとは

USBリンクケーブルとは、PCを直接つなぐケーブルなのでしょうか?
LANのクロスケーブルでPCをつなぐより何かメリットはあるのでしょうか?

Aベストアンサー

メリットと言えるほどでもないかもしれませんが、
IPアドレスの設定などが不要ということくらいでしょうか。
初心者の方でしたら、メリットになるかもしれません。

QCGIとMysqlで複数のupdate文を実行したい

CGI(Perl5.8*)のDBIモジュールでのMysqlの質問です。

////////////////////////////////////////////
$sql = "
update `postageFee` set `aaa`=1,`bbb`=2 where `id`=1;
update `postageFee` set `aaa`=3,`bbb`=4 where `id`=5;
";
$result = $db->prepare("$sql");
$result->execute;
$result->finish;
////////////////////////////////////////////
上記のように複数行にわたるupdate文を一回のQueryで処理させたいのです。
上記のような方法で一回で処理はできないのでしょうか?どうしてもうまくいきません。
1行1行クエリーしないといけないのでしょうか?

よろしくお願いします。

Aベストアンサー

> 上記のように複数行にわたるupdate文を一回のQueryで処理させたいのです。

それはできないです。

> 行1行クエリーしないといけないのでしょうか?

そういうことです。

ただ、1回、1回同じようなSQLを解析させるとオーバーヘッドが高くなるので、形が同じでリテラルだけが異なるようなSQLを何度も発行する必要がある場合はprepared statementというものがよく使われます。

すると、こんな感じになるでしょう。

$sql = "update postageFee set aaa=? ,bbb=? where id = ?";
$result= $dbh->prepare($sql);

$result->bind_param(1, 1);
$result->bind_param(2, 2);
$result->bind_param(3, 1);
$result->execute;

$result->bind_param(1, 3);
$result->bind_param(2, 4);
$result->bind_param(3, 5);
$result->execute;

> 上記のように複数行にわたるupdate文を一回のQueryで処理させたいのです。

それはできないです。

> 行1行クエリーしないといけないのでしょうか?

そういうことです。

ただ、1回、1回同じようなSQLを解析させるとオーバーヘッドが高くなるので、形が同じでリテラルだけが異なるようなSQLを何度も発行する必要がある場合はprepared statementというものがよく使われます。

すると、こんな感じになるでしょう。

$sql = "update postageFee set aaa=? ,bbb=? where id = ?";
$result= $dbh->p...続きを読む


人気Q&Aランキング

おすすめ情報