トップページ⇒php
1001コメント311KB

CGIだけど、なんか質問ある? part 6

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/04/23 20:28ID:Kp0cZQna
CGIスクリプトの運用に関する質問スレです。

<<注意:CGIは特定の言語に依存するものではありません>>

Perlのコーディングに関する質問はこちら
【Perl】初心者コーナーPart11
http://pc.2ch.net/test/read.cgi/php/1017201229/


過去ログは>>2
0283nobodyさん 02/05/15 01:04ID:GynYD0C5
検索CGIを使用していて転送量200MB/日になるのですが、
貴社でスペースを借りられますか。
0284nobodyさん02/05/15 01:18ID:???
>>275
表示をHTMLにしたら?
0285nobodyさん02/05/15 01:55ID:???
>>280
使用CGI(配布先)、1日のPV数、サーチエンジンならデータ部分の容量、現在設置してるならそのURL・・・

028627702/05/15 10:23ID:???
>>278-279
レスセンクス。
0287ラナ ◆ZrzN4KAA 02/05/15 20:12ID:tzVRVO3Y
TOPページにカウンターCGIを貼り付けたいけど
SSIを使ったらshtmlにしないといけないっぽいので
そうしたらindex.htmlじゃなくなったのでTOPページに使えなくなりました
どうすればいいと思われますか??
0288nobodyさん02/05/15 20:13ID:???
kentのyybbsってアクセスログ採られます?
↑こんな質問してる奴がレスサンクスだって。ははは。
0289nobodyさん02/05/15 20:49ID:???
>>287
・1 .htaccessいじってhtmlファイルでもSSIを有効にする。
・2 .htaccessいじってindex.html以外(この場合index.shtmlを)をデフォルトファイルにする。
・3 index.htmlに<META HTTP-EQUIV="refresh" CONTENT="0; URL=http://www.hoge.com/main.shtml">
    と書いてshtmlファイルに飛ばす

.htaccessのことはここで勉強しる
ミケネコの htaccess リファレンス
http://www.mikeneko.ne.jp/~lab/web/htaccess/
0290ラナ ◆ZrzN4KAA 02/05/15 20:56ID:tzVRVO3Y
ありがとうございまθ
0291nobodyさん02/05/16 00:11ID:4a3PIIUr
すいません、あのですね、
--------test.dat-----
あ
い
う
え
お
か
き
---------------------
上のように縦に一文字ずつはいったファイルを開いて、再び同じものを書き込むだけなんですけど、

あ
い
う
 、、、、、、
何故かこんな感じで一行目以外は頭に半角スペースがはいっちゃうんですけど、
これって仕様?
ソースは下です、いくらやっても直らなくって、、、
ちょっと見ていただけませんか?おねがいします。

$file = "test/test.dat";
open(IN,$file);
@line = <IN>;
close(IN);
open(OUT,">$file");
print OUT "@line";
close(OUT);
0292nobodyさん02/05/16 00:22ID:???
>>291
print OUT "@line";
↓
print OUT @line;
029329202/05/16 00:27ID:???
あー、スレ違いだった・・・気をつけろよコンチクショウ
029429102/05/16 00:50ID:4a3PIIUr
おっとぉ、出来たぜ
ありがとう!!!

あれ、スレ違い?CGIの話なんだけど
まぁ、さんきゅー、助かりましたですよ。
029529102/05/16 00:51ID:???
ごめん、さげわすれた
0296げ鬱02/05/16 01:27ID:vvhWlVEP
LWPモジュールつかって外部CGIにPOSTして返ってきたHTMLの中のinput tagの中からnameとvalueの値をそれぞれハッシュに入れていきたいんだけど、どう書けばいいのかよくわかりません。

要はHTMLを一行ずつ読んでいき、正規表現でマッチした$1,$2をそれぞれ$name($i),$value($i)に入れていけばいいんでしょうか。

悶々として寝付けません。。。
0297nobodyさん02/05/16 02:12ID:???
>>296
正規表現で問題無いと思う。$name($i)はハッシュじゃないっていう突っ込みは…いらんよな。
0298 02/05/16 02:26ID:rj5zflYZ
kkkk
0299 02/05/16 02:27ID:5PmXmU1X
dddd
0300 02/05/16 03:16ID:5PmXmU1X
rkkrkkrkrkrkrkrkrkrkrkrkrkrkr
0301nobodyさん02/05/16 06:18ID:AfPPR3wG
HTMLから
<INPUT type="checkbox" checked name="a">A<BR>
<INPUT type="checkbox" checked name="b">B<BR>
ってチェックをつけた人間だけにメールを送りたいのですが
CGIでチェックをつけたやつだけのメアドを$adressに代入したいのです
読みとり、代入部分はどのようにすればいいでしょうか?
厨房にはさっぱりなのでお力添えお願いします
0302nobodyさん02/05/16 06:28ID:AfPPR3wG
上の追加ですが $a をメアドに変換する部分も
ご教授頂ければ幸いです。
順番としては
1 チェックした人間だけを抽出
2 それぞれに対応する変数をメアドに変換
3 メアドを $adress に [email protected] [email protected] って感じで代入
ですかね よろしくお願いします
0303nobodyさん02/05/16 13:11ID:pFnKXSKS
C言語でCGIを書いているのですが、
今まで正常に動いていたのですが、突然サーバーエラーが出るようになりました。

以下のように、グローバル変数に何か代入する文をいれただけで
Internal Sever Error が発生するようようです。
コマンドラインから
$test.cgi
で実行すると問題なくhtmlを吐くのですが、htmlから呼び出されると
エラーになってしまいます。
こういう現象で何かヒントがあればお願いします。

int main(void)
{
  today_date = 25;  // データ処理される日付(グローバル変数)コメントにすると通る。
  test_cgi();    // Hello Worldを表示するだけのテスト関数
  return 0;     // エラー発生中の非常手段。
  ・・・普通の処理。
}
0304narucy56 ◆wMOjCT4s 02/05/16 13:35ID:DuKoWpQw
結局のところ、最強の Web アプリケーション開発言語って何ですか。

俺の意見としては。

* Java から派生するモノ
* Struts などのフレームワークを用いた開発
* それよりもベンダーから作られた WebObjects を使った開発

Java で Web 開発っていうのは、少々オーバテクノロジーなような気がしてる

* PHP
下手すると環境に依存するスクリプトを書きがち。言語仕様も今ひとつ。
* Ruby + modruby + eruby
シンプルかつ強力。しかし、実際に使っている人が少ないのが難点か。

スクリプトが楽でサッと作れる環境ってのもいいと思う。
やっぱ Ruby を使いたい。
0305nobodyさん02/05/16 20:07ID:???
(´-`).。oO(>>304 あ〜、ハイハイ…)
0306nobodyさん02/05/16 20:08ID:???
(´-`).。oO(>>303 web鯖ソフトのエラーログでも見たら?…)
0307nobodyさん02/05/16 22:13ID:/e1q/rGT
CGI RESCUEのツーショットチャットv4
http://www.rescue.ne.jp/cgi/2shot4/
を
使えるネット
http://www.tsukaeru.net/default.php
に置きたいんですけどデフォルトで無理みたいなんです。
何処を書き換えればよろしいのでしょうか?
0308nobodyさん02/05/16 23:28ID:???
>>307
CGIだけど、なんか質問ある?
030930702/05/17 00:05ID:rk9JEa76
あれ?もしかして私スレ違いですか?
031030302/05/17 00:09ID:???
エラーログ、非公開の鯖なんです・・・。
自宅のローカル鯖では問題なく動いているんですけど。
0311nobodyさん02/05/17 00:11ID:???
取り敢えず1行目を
#!/usr/bin/perl
に。
0312nobodyさん02/05/17 00:17ID:???
(´-`).。oO(>>310 telnet で入れるなら、コマンドライン上からは動く?…)

>>303 のプログラムだと Content-Type のヘッダーを標準出力に出してないみたいだけど、いいのか?
031330702/05/17 00:29ID:rk9JEa76
一応、
#!/usr/bin/perl
にはしています。
パーミッションやディレクトリ構造も再確認しました。
それ以外はCGIそのものは弄ってません。
どうしたら良いのでしょう・・
031430302/05/17 00:34ID:???
>>312
コマンドラインで
$./test.cgi
は動きます。ヘッダーは関数の中で吐き出してます。
落ちるときはcoreを吐くのですが、segmentaion faultで落ちてるようです。
0315nobodyさん02/05/17 01:05ID:???
(´-`).。oO(>>314 それ、バイナリがアーキテクチャに合ってないのでは?)
031630302/05/17 01:19ID:???
>>315
すみません、意味が分かりません・・・。
実行ファイルはサーバー上でコンパイルされたものですが。
0317nobodyさん02/05/17 02:02ID:???
>>313
error.log のようなものは見れますか?
見れなければ、
http://www.execweb.cx/~appoh/soft/check.htm
を使ってエラー内容を晒して下さいな。
031830702/05/17 02:39ID:rk9JEa76
どうにもInternal Server Errorしかでませんです
>>317
Perlチェッカー使ってみました。
Content-type: text/html
と表示されるだけです。
0319nobodyさん02/05/17 04:02ID:???
(´-`).。oO(>>316 あぁ…サーバー上でちゃんとコンパイルしたものなのね…)

アーキテクチャ=CPUアーキテクチャの事ね

もっと単純なプログラムで試して見たら?
標準出力に content-type ヘッダーと hello world を出力するぐらいの短いやつ
0320nobodyさん02/05/17 12:51ID:???
良いwhoisのスクリプトとかありますか?
あと、商用で利用できるものであれば大体どのくらいの金額を支払うのが妥当ですか?
032130702/05/18 00:59ID:8Ykh9eMs
どなたか書き換える場所と方法のわかる方いませんでしょうか。
気長にお待ちしていますので御教授よろしくお願い致します。
0322nobodyさん02/05/18 01:13ID:???
>320
whoisコマンド使えばいいじゃん
0323nobodyさん 02/05/18 02:51ID:lzksJOrl
http://www.tsukaeru.net/アカウント/test.html
からチャットにリンク貼って飛んでみる
だめなら漢字コードを変えてみる
032430702/05/18 03:49ID:8Ykh9eMs
>>323
やってみましたがダメでした。
Internal Server Errorです。

某所で同じ質問を少し詳しい方にメールにて聞いてみたところ、
「tsukaeru.netで2shot.cgiを使うには、
 スクリプトを数箇所書き換えなくてはいけないらしい。
 けど、やり方は解からない。」
と言われてしまいました。・・・無念です。
0325nobodyさん 02/05/18 05:24ID:Lw8FSpDT
別へ移る
別のスクリプトにする
0326nobodyさん02/05/18 05:25ID:???
>>1
>CGIだけど、なんか質問ある?

別に
0327nobodyさん02/05/18 18:31ID:???
あっそ。
0328nobodyさん02/05/19 10:32ID:???
わはは
0329Ash02/05/19 21:11ID:???
スレ違いかもしれませんが、すいません。

アイコン掲示板をCGIで書いてるんですが、
アイコン選択フォーム(セレクトボックス)の記述で困っています。

print "<option value=\"画像ファイル名(例:sensya.jpg)\" selected>画像の説明(例:タイガー戦車)\n";

という具合に書いているんですが、
上の例で言うと、「タイガー戦車」を選んだ際に渡すデータを、
「sensya.jpg」だけでなく、「sensya.jpg」と「タイガー戦車」の2つ、
という具合にしたいんですが、どうやって書けば良いのでしょうか?
0330nobodyさん02/05/19 23:42ID:???
スレ違いでしょう・・・。
Web製作板で聞いてみそ。
http://natto.2ch.net/hp/index2.html
0331nobodyさん02/05/20 09:24ID:???
>>330
スレの趣旨にかなっている質問だと思うが?

>>329
>print "<option value=\"画像ファイル名(例:sensya.jpg)\" selected>画像の説明(例:タイガー戦車)\n";

これ、value= の中に「タイガー戦車」も突っ込めば?
value=filename.jpg<>タイガー戦車
って感じにしてから、split すればよし

0332nobodyさん02/05/20 22:36ID:???
>>331
ああ、あくまでCGIの方で何とかしようとするとそうなるね。
おれ、そっちの方に思いがいたらなかったので。すまん。

ちなみにおれが想定してたのは
print "<option value=\"sensya.jpg\" selected>タイガー戦車\n";
print "<input type=\"hidden\" name=\"hoge\" value=\"タイガー戦車\">
みたいにしてJavaScriptで何とかするみたいな・・・。

俺が逝った方がいいみたいね・・・。
0333nobodyさん02/05/21 02:20ID:???
>>332
JavaScriptだとこんな感じでいけるかな?
IE以外でどうなるか知らないけど。

<script type="text/javascript">
function setIconName(frm) {
var name = frm.icon.options[frm.icon.selectedIndex].text;
frm.icon_name.value = name;
// alert(frm.icon_name.value);
}
</script>

<form name="frm1">
<input type="hidden" name="icon_name" value="タイガー戦車">
<select name="icon" onchange="setIconName(this.form)">
<option value="sensya.jpg" selected>タイガー戦車
<option value="foo.jpg">foo
<option value="bar.jpg">bar
</select>
</form>
0334nobodyさん02/05/21 03:48ID:???
(´-`).。oO(>>333 JavaScript OFF とか Proxomitron でカットしまくってる人には使えないね…)

どっかの無料レンタル掲示板で JavaScript ON にしないと、カキコできない凄い所見つけたよ。開いた口が塞らなかった(w
0335改造のお願い02/05/22 00:07ID:???
板違いでしたら適切な板をご指示ください。

昔、ゆいちゃっとの小物でページの更新日時を表示するスクリプトがあり、
実際にHPで使用しているのですが、更新日当日のみ「更新しました」と
表示される作りなっていました(本人も説明していました)

これを向こう24時間以内での更新に反映できるようにどなたか修正していただけませんでしょうか?
あぷろだに入れてお渡ししたいと思います。
よろしくお願いします。
0336nobodyさん02/05/22 00:25ID:???
>>335
板違いじゃないけどスレ違い。スクリプトの改造依頼はこちらです。

スクリプト改造工房
http://pc.2ch.net/test/read.cgi/php/1012839651/
1に書いてることよく読んで改造依頼書くように。

ただ、この板は基本的に自分でスクリプト書く人が集まってるとこなので
依頼を書いてもスルーされることがあります。
0337ken02/05/23 01:27ID:TLsld2En
http://www.kent-web.com/count/index.html
にあるKENTの夢のカウンターで、カウントを非表示にして
カウンターを別ページに表示したいのですが、どうすれば、よろしいでしょうか?
お手数ですが、なにとぞお願い致します。m(__)m
どなたかお教えくださいませ。m(__)m
0338nobodyさん02/05/23 02:12ID:???
このCドライブの表示ってどうやんの?
http://www.w3schools.com/site/site_security.asp
0339nobodyさん02/05/23 02:20ID:???
>>338
スレ違い&努力不足
0340nobodyさん02/05/23 02:37ID:???
ソース

<h2>Is this your C drive?</h2>
<p>
<iframe src="C:\" width="100%" height="200" ></iframe >
</p>
<p>
Don't worry. This is just a trick. We cannot see your C drive for real.
</p>
0341nobodyさん02/05/23 17:18ID:z2IvFYUR
ニュース更新用のスクリプトを探しているのですが、ご存知の方いませんか?
0342nobodyさん02/05/23 17:20ID:???
スレ違いでした。すみませんでした
0343nobodyさん02/05/24 11:44ID:CP3yvkse
質問です。
データベースからデータを受け取りそれをhtmlにして出力する時に
ふぇっちしながらメモリを拡張してhtml文字列作成していく?
それともがばっとメモリを取ってそこにバッファリングする?
後者だと予想外にでかくなっちゃうとメモリが足りなくなったときなんかめんどくさいですよね。
そこでテンポラリファイルに落としたりとかって手もありそうだけど
なんか罠がありそう。
どうなの?自分はテンポラリファイルにしたんだけどファイル名とか
mktempで作成しても大丈夫かな?

0344nobodyさん02/05/25 11:57ID:???
>>343
mktemp がどの様なルールでファイルを作成しているか解らんけどさ、
同時アクセス来た時とか大丈夫ならオッケーじゃない?
0345nobodyさん02/05/27 18:52ID:cRMPREM7
質問です
sendmailを使って、大きな添付ファイルの付いたメールを送信する際に、
二重送信を防止するためには、どの段階でチェックかければ良いのか知りたいのです。

処理開始
↓
sendmailオープン←ここで、ファイルロックなり何なりをして、
↓
sendmailクローズ←ここで、ロックの解除をすればよいのでしょうか。
↓
終了処理

お願いいたします。
0346nobodyさん02/05/27 19:51ID:???
>>345
二重送信とファイルのロックに何の関係があるのかが分からない。
ファイルがどうなってようが別に二重送信にはならないわけでしょ。
0347ようへい02/05/28 02:47ID:???
少しお聞きしたいのですが、(Web製作板で聞くべきなのか迷ったのですが)

<FORM action=http://www.?????.com/cgi-bin/s_books.cgi method=post><INPUT
type=hidden value=show_cat name=action> <INPUT type=hidden value=エッセイ
name=cat_name_j> <INPUT type=hidden value=10 name=section><INPUT type=submit value=エッセイ></FORM>

というのを

<A href="http://www.?????.com/cgi-bin/s_books.cgi" >エッセイ</A>

のように(A href=)を使って表すことは出来るのでしょうか?
文章が下手ですみません。
0348nobodyさん02/05/28 03:40ID:???
hdmlなら出来る。どうしてもやるなら
~~~.cgi?action=show_cat&cat_name_j=エッセイ§ion=10
でcgiの受信ルーチンをGet仕様に変更
0349nobodyさん02/05/28 10:02ID:???
>>347
スレ違いだな。Web製作版のJavaScriptスレにでも行けや。
0350nobodyさん02/05/28 23:09ID:yOXTARLe
CGIを作り始めたばっかりの素人の質問ですが、
あるCGIが URLにアクセスされて起動したのか
formのアクション(method post)から起動したのか区別するにはどうしたらいいでしょうか。
(言語はPerlです)
0351nobodyさん02/05/28 23:12ID:???
if ($ENV{'REQUEST_METHOD'} eq "POST"){
0352nobodyさん02/05/28 23:18ID:???
>>351
ありがとうございます。さっそくやってみます。
0353nobodyさん02/05/28 23:45ID:???
普通、フリーのCGIが使えるサーバーは
Perlの標準モジュールは使えるんでしょうか
CGIのサンプル見てもuse CGIとかしてないのは
それが邪道だからなのでしょうか?
今はinfoxxxkのサーバー借りたんですけど。
0354nobodyさん02/05/28 23:51ID:???
>>353
要するに椅子と。
何を必要とされているのか判らないが、特殊仕様につき多くは望めない。
詳しくは本家へ
035535302/05/29 00:44ID:???
やっぱそうか、ありがとうございます。
本家ってi○webに聞けってことっすか?
このperlではこれだけのモジュールが使えるよん、っておしえてくれる
perlのプログラムもしくは標準モジュールってないですかね?
OS判別の特殊辺変数とかはわかったんですが。
0356ウイルス?02/05/29 01:22ID:kYuEG1iJ
ログを見ていると、時々POSTが20発程自分のPCから発せられているみたいです。
掲示板への大量投稿になりそうですが、内容がないといったエラーが出て終わります。
どうも画面内にFORMがあるときにランダムで発生するような感じです。
対象サイトは特定されていないようです。
これはウイルスでしょうか。
0357nobodyさん02/05/29 02:24ID:???
>>355
標準モジュールとは何を以って定義される?
まずモジュール名を述べられよ
035835302/05/29 02:46ID:???
>>357
定義はラクダ本で説明してるモジュールですね
0359nobodyさん02/05/29 08:10ID:???
>>358
ハァ?
普通はperldoc perlmodlibに書いてあるモジュールのことだろ。<標準モジュール
ついでに意味の無い伏字はDQNに見えるから止めとけ。

>>356
それだけの情報で何をしろと?
0360nobodyさん02/05/29 16:48ID:???
>>358
んなことたろうと思った。
差詰め、mailかsocketかnet系と見た。
0361nobodyさん02/05/29 17:17ID:qd1jn0D7
質問。ためしに"SOLD OUT"っていうやつをDLしてきて
自分のPC上で動かしたら
"script produced no output "って表示された。
これ何?
0362nobodyさん02/05/29 17:22ID:???
英語読めないなら検索する努力をしてください。
http://www.google.co.jp/search?num=100&hl=ja&q=script+produced+no+output+&btnG=Google+%8C%9F%8D%F5&lr=lang_ja
0363文字の平均02/05/29 18:14ID:p/49wL6b
436578975
とランダムな1桁の数字が連続してあった場合、平均は足して個数で割りますが、

irsafwe
とランダムな1桁の文字が連続してあった場合、平均を出すには、
効率のよい処理がありましたら教えてください。
0364nobodyさん02/05/29 19:11ID:Ih3GfPrH
メールマガジンを出したいんだけど、
かなり使えるメールマガジンCGIて何がお勧め?
036536402/05/29 19:12ID:Ih3GfPrH
失礼。CGI探してるスレへ移行しま。
そーりー!
0366nobodyさん02/05/29 19:36ID:FAJbSgQ8
DOSDOSDOSDOSDOS
(゚Д゚)限界を越えて見せれば?
DOSDOSDOSDOSDOS
0367あぼーんNGNG
あぼーん
0368nobodyさん02/05/29 20:07ID:???
>>363
こんな感じか。

my $string = 'irsafwe';
my $char = my @char = split //,$string;
my $sum = 0;
foreach (@char) { $sum += unpack 'H2',$_ }
print "平均→",pack int($sum / $char);
0369nobodyさん02/05/29 20:09ID:???
抜けてた。
pack 'H2',int($sum / $char);
0370nobodyさん02/05/29 21:22ID:???
>>368
おい、おまえ前にも一度同じ過ちを犯さなかったか?
文字コードの値の十進値を得るのは unpack 'C*' だろうが。

ついでに言うと "文字の平均" などという脳内用語をよく理解できたな。
自作自演はもう少しうまくやれよ。
037136802/05/29 22:58ID:???
間違いを正して貰えるのはうれしいけど、
なぜ自作自演とか言われるんだろう…誰と間違えられてるんだ?
0372文字の平均02/05/29 23:08ID:C7p/YwNq
>>368
方法があったのですね。ありがとうございます。
一度数字を与えてから計算し、それを文字に戻す方法しか思いつかず、
効率が悪そうだったので他の方法がないか聞きました。
よく理解してないのですが端数はどうなるのか気になります。

>>370
何を怒ってるの?
厨房野郎は無視するぞ。
時間をかけて書いてくれた>>368にオレまで悪い気がするぜ。
でもunpack 'C*'は気になるので試させて頂きます。藁
0373nobodyさん02/05/29 23:34ID:???
>>372
>>370は怒り過ぎだが、"1桁の文字"とか"文字の平均"は、
説明が必要だろ。
端数がどうなるか気になるだと! どうしたいのか説明するのは君だ。
0374368=37002/05/30 01:58ID:???
ジサクジエン(・∀・)デシタ!!
0375nobodyさん02/05/30 02:50ID:???
lヽ
l 」∧_∧  
‖( ゚∀゚ ) < 誰が自作自演だ!!
⊂    つ 
  人  Y 
 し(_)
 
0376nobodyさん02/05/30 04:10ID:???
( ´,_ゝ`)プッ
0377nobodyさん02/05/30 05:05ID:???
lヽ
l 」∧_∧  
‖( ゚∀゚ ) < 何が( ´,_ゝ`)プッだ!!
⊂    つ 
  人  Y 
 し(_)
0378nobodyさん02/05/30 06:37ID:???
(・∀・)ニヤニヤ…
0379nobodyさん02/05/30 10:30ID:ANCdXfrn
グループ内で収支の報告ができるcgiってあります?
共有財産のお金の出入りをネット上で管理できるようなもの・・。
0380nobodyさん02/05/30 10:34ID:???
>>379
聞いた事ないな…自作しか無いと思われ
0381文字の平均02/05/30 13:04ID:JuT8Nhm1
>>373 >>368
>端数がどうなるか気になるだと! どうしたいのか説明するのは君だ。
まったくだよ。
また脳内用語になってしまうのが涙ですが、いわゆる四捨五入が希望です。
0382nobody02/05/30 14:03ID:CkO0lXEy
C-BOARDの過去ログを消す方法がわかりません。
記事のトータル数を設定しても変化なしです。
どうすればよいのでしょうか?
■ このスレッドは過去ログ倉庫に格納されています