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

CGIだけど、なんか質問ある? Part 12

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん04/10/10 00:04:06ID:???
CGIの運用に関する質問スレッドです。

※ CGIはウェブサーバ上でユーザプログラムを動作させるための仕組みであり、
Perl等特定の言語に依存するものではありません。

Perlのコーディングに関する質問は、専用スレでお願いします:
[Perlコーディング初心者質問スレ Part 38]
http://pc5.2ch.net/test/read.cgi/php/1097158988/

CGIとPerlの区別がわからない、という人はとりあえずこちらへ:
[△▲ WebProg 初心者の質問 Part10 ▼▽]
http://pc5.2ch.net/test/read.cgi/php/1095633323/

過去ログ・関連スレッドは>>2-10あたりに
0069nobodyさん04/11/05 18:11:58ID:???
>>68
ものによるだろうけど普通は表示(出力)したら終わり。
0070nobodyさん04/11/05 18:19:24ID:???
>>69
なるほど。したら、掲示板とカウンタを同時に表示するようなことがなければ
表示されないとかはないですか?
0071nobodyさん04/11/05 18:39:40ID:???
>>70
> 掲示板とカウンタを同時に表示するようなことがなければ
なければ、ね。念のために言っとくけど掲示板とカウンタを別ページにすりゃ
いいってもんじゃないよ。Aが掲示板を見ると同時にBがカウンタのあるページ
にアクセスすりゃ同時に動くんだから。

ま、同時にキックされたところで2つめが待たされるだけなんでしょ? 信頼性
が求められるサイトならともかくそう気にすることもないと思うけど。
00726304/11/05 21:05:03ID:???
そうか。試してみます。どうもありがとん。
0073nobodyさん04/11/07 01:53:27ID:CA45uIVZ
リンクcgi探してます
tbookmark.cgiが良さげで使おうとしたけど
今借りてるレンタル鯖で動かなかった

かっこ良くてカテゴリ別にわかれる
おすすめのcgiってありますか?
0074nobodyさん04/11/07 04:38:36ID:???
>>73
板違い

【CGI】こんなCGI探してますver.15
http://pc5.2ch.net/test/read.cgi/hp/1097762828/
0075nobodyさん04/11/07 04:48:48ID:UnTFnKCo
質問です。

掲示板やアクセスログやカウンター、すべてのCGIの時間が狂ってるんですが(半日前の日付と時間になります)
これはCGIに問題あるんでしょうか、それともサーバー側でしょうか?
0076nobodyさん04/11/07 04:57:07ID:???
>>75
半日前つーのは珍しいね。
標準時がUTCの鯖でJST扱いをすると JST = UTC+9時間 つー式から9時間の差がでることはあるけども。
12時間つーと NZTあたりか。
00777504/11/07 05:26:12ID:???
>>76
半日前というか、詳しく言うと15時間ほど前の日付なんですよね。
昨日の昼か夕方あたりから時間が来るってルかも・・・その前の日は通常の時間だったのに。
0078nobodyさん04/11/07 06:10:00ID:???
15時間なら、24-15=9だな。
0079nobodyさん04/11/07 13:12:22ID:???
サーバのタイムゾーンを確認しれ
0080nobodyさん04/11/07 15:23:25ID:???
どうでもいい話なんだが、
半年ぶりにPerlでプログラミングする。
ほとんど、頭が真っ白になってやりにくい。
0081nobodyさん04/11/07 17:17:15ID:???
>>80
Larryが言ってたな。
Perlは毎日30分やる人に都合のいい言語なんだって。
時々する人には不向きな言語だそうだ。
リャマ本に書いてあったな、たしか。
0082nobodyさん04/11/07 18:35:51ID:V/bBugXz
トリップについての質問なんですが。
ここのサイトに
http://raccy.xrea.jp/ruby/trip.html

>キーに二バイト文字が使われているときは
>トリップ生成においては1バイトの二つの文字として扱われます

ってあるんですけど、これはたとえば”あ”のときは
どういうキーに変換されてトリップを生成するのでしょうか?

ちなみに’あ’はurlで送信するときは'%A4%A2'に変換されます
0083 ◆vz9kOnOvyU 04/11/07 18:52:52ID:???
>>82
print crypt("\x82\xA0",".H");

.Hp3zNBOPkseQ
00848304/11/07 18:54:29ID:???
>83のは無視してOK。

俺かっこわる...
008583 ◆3zNBOPkseQ 04/11/07 18:59:53ID:???
やっぱりあってんじゃん。
「#あ→#あ」と書いたら全角の#が有効になってたみたい。
このトリップのキーは#あ
00868204/11/07 20:49:59ID:V/bBugXz
どうもありがとうございます。
ちょっといろいろ考えてきます。
0087nobodyさん04/11/07 21:43:58ID:fwt0bX2Z
どなたか知恵を貸して下さい…。

SuExec導入済み鯖でアカウントを取って、cgiをうpしました。
でも、500エラーが出ます。

うpしたファイルとパーミッションは以下の通り。
(cgiはKENT WEBのponny chat。htmlの部分だけいじってます)
ponny.cgi / 701
ponny.log / 600
jcode.pl / 600
index.html /

ponny.cgiをPerlCheckerにかけたところ、
syntax error at ponny.cgi line 26, near "require "
ponny.cgi had compilation errors.
というエラーメッセージが出ます。これを見る限りでは
26行目がおかしいんだと思われるので、何もいじってない
ファイルから同じ部分をコピペして再度チェックしましたが、
やはり同じエラーメッセージです。

別アカウントでも同じものを使っていて、こっちは何の問題もなく
使えてるのにどうしてだ…。

ponny.cgiと全く同じ内容のtxtファイルもうpしたので、
ttp://karen.saiin.net/~kenchat/ponny.txt
何がどう違うのか、どなたか教えて下さい。
0088nobodyさん04/11/07 21:47:04ID:???
$quick = 1
セミコロンは?
0089nobodyさん04/11/07 21:49:11ID:???
>>87
25行目がおかしい。つーか気づけ。
>>87の内容から察するに、元ファイルもその部分がおかしいかも知れん
00908704/11/07 22:11:29ID:???
>88-89
26行目じゃなくて25行目だったのか…_| ̄|○
25行目にセミコロン入れただけでOKでした。

素早い回答、ありがとうございました。
0091nobodyさん04/11/07 23:28:26ID:???
ま、near だからね
0092nobodyさん04/11/13 00:39:13ID:gMI3pB8y
モジュールと関数とライブラリって、それぞれ、どう違うのでしょうか?
0093nobodyさん04/11/13 01:06:00ID:???
モジュール : ミッションの内容に応じて付け替えたり取り付ける場所を変更可能。
関数 :ある変数に依存して決まる値あるいは第二の変数のこと。函数とも表記する。
ライブラリ : 図書館。最古のものとしてアレクサンドリア図書館が有名。
0094nobodyさん04/11/13 01:59:00ID:???
>>93
ありがとうございました。
大事なのは、モジュールと関数だけで、ライブラリとか言ってる奴は
知ったかということですね
0095nobodyさん04/11/13 07:54:03ID:???
ポカーン
0096nobodyさん04/11/14 11:29:30ID:Q1/hzomt
データを<>とか,で区切っている人は多いですが、
タブで区切るのは邪道なんでしょうか?
0097nobodyさん04/11/14 11:39:31ID:???
別に普通。
0098nobodyさん04/11/14 12:08:02ID:Q1/hzomt
>>97
      //        _,.、-─''''''''''''''''''''''ー-、_   \
    //     _,..、-''"  _,,.-─       ~"''-、 ヽ
   / /     /    ,.r'"         i  ヽ  ヽ ',
.  / /    /     /      /   il ヾ  ヽ  \
  l:::/   ../    /    //  /  /|  iヾ  ヽ ヽヽ
.  |:::l  ....::/ /    /    // ///  / |  | ヾ   ヽ ', ヽ
  |:::!::::::::::::/ l   _,、r'フ彡フ~フ// /  / -|─|-i、 }  |  | !
  |::|::::::::::::! |   /l|" // / ///   リ リ  |i |、 |  | |  お兄ちゃん大好き♪
.  | !:::::::::::| |   l !,.-''ニニ-、 // ノ   ,ニニ=、リ l  |  | |
  ll:::::::::::::|/ |   | / /,.(⌒)、ヽ"~      /(⌒) `l |  j| | /
   ';:::::::::::|  ',  |   l ! `"| |        l i`ーイ|  | /|| ル
.   ';:::::::|r-i |!  |   l ○__ノノ        { ○;ノ.!  / / |i|
.    ヽ、|{ (| |ヽ ヽ 、`ー-"         ヽ--´ / /| / ||  
.     | ヽ、| | |ヽ\  ̄"~       '   ~ ̄"彡イ l{ ||  
     |  i | | ト,\\ iii    、___    iii ノ|  |', リ
.     |  l | | i li、 ゙ヽ、,,            ,.r' | |  |i ゞ   
.     | | i | l li  l, ヾ>''- ,, _     _ - ''  /| | i | l
0099nobodyさん04/11/14 17:11:22ID:???
, で区切れば Comma Separeted Values (CSV) と呼ばれる
タブで区切れば Tab Separated Values (TSV) と呼ばれる

<> で区切る場合の呼び方は知らん
0100nobodyさん04/11/14 18:33:45ID:???
>>94
マジレスすると、>>93は一般的な話

Perlでは

モジュール: Perlのライブラリで、use文でロードして使用する。
関数: サブルーチンと呼ばれるプログラムの断片。>>93の定義に加え、副作用を持つものも存在する。
ライブラリ: 主に複数の関数からなるプログラムの断片。大抵モジュールとして提供される。

ってな感じかな
詳しくはぐぐれ

01019804/11/14 19:57:51ID:???
>>99
CSV形式っていうのは知ってましたが
TSVっていうのは初めて知りました。
0102nobodyさん04/11/14 22:17:47ID:???
つーかお前ら、ここはCommon Gateway Interfaceのスレですよ。
0103nobodyさん04/11/15 02:21:11ID:???
ライブラリはもっと抽象的な言葉。
関数ライブラリもあればクラスライブラリもあるしー
0104nobodyさん04/11/15 02:31:29ID:???
PHPだと、以下みたいなものかな

モジュール-Apachの機能で追加するもの。
        そのサーバによって違う


関数-プログラム自身が持っているサブルーチン


ライブラリ-別途、インストールする必要があるサブルーチン
0105nobodyさん04/11/15 07:12:27ID:???
>>104
池沼死ねよ
0106nobodyさん04/11/15 07:16:30ID:???
>>105
お前が氏ねwww
0107nobodyさん04/11/15 07:22:07ID:???
本人は釣りのつもりだったんだろう。
最近よくある勘違いだな。
0108nobodyさん04/11/15 07:28:12ID:???
池沼なめるとぬっコロスぞ
0109いけぬま04/11/15 21:39:48ID:???
すいません。これでいいですか?
モジュール-Apachの機能で追加するもの。
        そのサーバによって違う


関数-PHP自身が持っている命令 echo、printなど


ライブラリ-別途、インストールする必要があるサブルーチン
       GDなど
0110nobodyさん04/11/15 21:42:52ID:???
(´・ω・`)ガッカリ
0111nobodyさん04/11/15 21:53:20ID:???
そんなにおかしくないと思うが・・・
0112nobodyさん04/11/16 19:43:15ID:???
かなりおかしいと思うが・・・
0113nobodyさん04/11/20 00:37:39ID:???
PHPは、スレ違いだとおもうが、>>109の何が間違ってるの?
0114nobodyさん04/11/20 00:57:26ID:???
IIS で動いてる Perl にはモジュールが存在しないワケ?
0115nobodyさん04/11/20 19:33:53ID:???
echoは関数じゃないし
0116nobodyさん04/11/20 19:39:20ID:???
ApacheのモジュールとPerlのモジュールをごっちゃにしてる時点でアウト
0117nobodyさん04/11/20 21:11:49ID:???
APerlche
0118nobodyさん04/11/20 21:24:35ID:???
関数は命令ごっちゃにするな
0119nobodyさん04/11/21 12:59:30ID:lC67s43+
ちょっと教えていただけると嬉しいのですが。。。

CGIの掲示板で、名前やコメントの中で改行を一切無効にするには、どうのように記述すれば良いでしょうか?
ちょっと追加するだけで、できるようでしたら嬉しいのですが。。。

理由:au携帯からの書込みで改行すると有効になり、荒らされてしまう・・・(^^;;

どなたか知恵を拝借いただければ嬉しいです!
よろしくお願い致します。。。。

0120nobodyさん04/11/21 13:03:04ID:???
>>119
置換すればぁ?バカ?
0121nobodyさん04/11/21 18:39:01ID:???
>>119
ちょっと追加すればできる。
でもスレ違い。ていうかCGIの配布元に聞け。
012211904/11/21 21:12:23ID:lC67s43+
バカですいません。。。(涙)

まったくわからないので、もしも簡単な追加でできるなら、
教えていただけるかと思ったもので。。。

0123nobodyさん04/11/21 21:17:02ID:???
一行追加でいけるよ。
ってか、CGIの質問しにきたんじゃないの?
改造してほしいの?
なら、スレ違い。
012411904/11/21 21:25:05ID:lC67s43+
一行追加でできるんですか!?
できれば教えていただけると助かります。。。

スレ違いでしたら、すいませんでした。
CGIのこの部分だけ知りたかったもので・・・
012511904/11/21 22:01:15ID:lC67s43+
調べて解決しました。
みなさん、ヒントをいただき、誠にありがとうございました。
0126nobodyさん04/11/21 22:08:30ID:???
>>120がヤバイ
0127nobodyさん04/11/21 22:10:17ID:???
>>126
ん?
0128nobodyさん04/11/22 00:31:27ID:???
Web制作板で一回聞いたんですが、こちらでも
もう一度質問させてください。

cgi で

http://example.com/test.cgi?a=aaa&b=bbb#abc

こういう書き方をしたとき、
a,b は環境変数 QUERY_STRING で取れるんですが、
#abc のところは何らかの環境変数か何かで
取得することはできるんでしょうか?
0129nobodyさん04/11/22 00:33:02ID:???
>>128
できません
013012804/11/22 01:02:22ID:???
どうもです。
ime.nu みたいなものを作ろうとしてたんですが、
たまたま別のスレを見てたら
#abc はブラウザが解釈するものだから無理だというカキコを
見つけたところでした。
0131nobodyさん04/11/22 01:34:34ID:???
>>130
RFC 2396によると # はfragmentとして扱われるためサーバ側に送られません。
というか、鯖側で捨てられても文句言えないことになります。
リンク元の方でなんとかするしか無いだろうねぇ。
0132nobodyさん04/11/23 19:55:25ID:PXEXOCcP
掲示板のレイアウトで質問なるんですが、
掲示板のURLの下にイメージ選択みたいなのがあります。
これです、http://www.kent-web.com/bbs/yybbs/yybbs.cgi
これをアドレスの右側にイメージ一覧を持ってきたくて。
URL最後の</tr>を<TD></TD>を付けたし、その後の方に持ってきました。
しかしエラーが起きてムリっぽいのです。

<tr>
<td nowrap>URL</td>
<td><input type=text size=55 name=url value="$url"></td>
</tr>
EOM
# 管理者アイコンを配列に付加
@ico1 = split(/\s+/, $ico1);@ico2 = split(/\s+/, $ico2);
if ($my_icon) {push(@ico1,$my_gif);push(@ico2,"管理者用");}
if ($iconMode) {print "<tr><td nowrap>イメージ</td>
<td><select name=icon class=f>\n";
foreach(0 .. $#ico1) {
if ($ico eq $ico1[$_]) {
print "<option value=\"$_\" selected>$ico2[$_]\n";
} else {print "<option value=\"$_\">$ico2[$_]\n";
}}print "</select>  \n";
if ($ImageView == 1) {
print "<a href=\"javascript:ImageUp()\">イメージ全部</a>";} else {
print "[<a href=\"$script?mode=image\" target=\"_blank\">イメージ全部</a>]";
}print "</td></tr>\n";}
0133nobodyさん04/11/23 20:08:46ID:???
> エラーが起きて
なぜ書かない?
0134nobodyさん04/11/23 20:13:01ID:PXEXOCcP
>>133
すみません、詳しく書くとエラーではないのかもしれませんが。
htmlかcgiかわからないのですが、プログラムみたいなのが一気にたくさんでていきます。
そのファイルのプログラムみたいなのが背景にでてきました。
0135nobodyさん04/11/23 20:48:46ID:???
その程度の奴が改造なんてするなと
0136nobodyさん04/11/23 21:12:26ID:PXEXOCcP
これはテーブルタグがつかえないとかなのでしょうか?
勉強不足で申し訳ないです、テーブルの途中にEOMが入ってるからなのでしょうか。
ここあたりが、わからなくて。
0137nobodyさん04/11/23 21:38:55ID:???
ヒアドキュメントの終端が見つからなくて そのままソースコードが表示されてるんじゃないかな。
perl ヒアドキュメント でググって調べてごらん。
全然分からん場合は、丸投げ改造依頼すれがあった希ガス
0138nobodyさん04/11/24 00:45:15ID:???
>>132
メールアドレスの横にイメージのプルダウン持ってくるの?
そんなら、html部分の改造だけだと思うけど。
013913204/11/24 14:26:38ID:xd0zTobK
>>137
その通りでした、ソースコードがそのまんま表示されてます。
>>138
URLの右にイメージのプルダウンを持っていきたいんですが、成功しなくて。
table,tr,tdで<tr><td>url</td><td>イメージプルダウン</td></tr>
こういうふうにやっているつもりなんですが、できないんです。
0140nobodyさん04/11/24 16:53:49ID:???
#! c:/perl/bin/perl
open(FILE,"./diary.txt");
@data = <FILE>;
close(FILE)
print(<<END);
Content-type: text/html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<html><head><title>ファイルの読み込み</title></head>
<body>
for($i=0; $i<3; $i++)
{<p>$data[$i]</p>}
/body>
</html>END

ヒアドキュメンとってのをつかってみたんですけど
for文をとりいれてみたんです。本ではとりいれてないですけど
3行表示されるはうが一行しか表示されません。
どこを修正したらいいでしょうか?

0141nobodyさん04/11/24 17:16:20ID:???
>>140
エラーログ見れば?
0142nobodyさん04/11/24 23:35:46ID:???
>>140
めちゃくちゃだな
0143nobodyさん04/11/25 07:14:49ID:PQ8ue+aw
フォームの確認画面を出す出さないっていうのはどこの設定で決まるのでしょうか?

0144nobodyさん04/11/25 07:25:46ID:???
>>143
スクリプトによるけど一般的には7行目の設定で決まる。
0145nobodyさん04/11/25 07:28:48ID:???
>>143
他人が作ったものなら その人にお聞きなさい。
自分で作ったものなら 自分の胸にお聞きなさい。
0146nobodyさん04/11/25 08:16:47ID:???
自分の胸に聞いたら、泣けてきた。
0147nobodyさん04/11/25 11:23:27ID:QxnQbi/R
【CGI名】yybbs
【配布先URL】http://www.kent-web.com/bbs/yybbs/yybbs.cgi
【依頼内容】掲示板のレイアウトで質問なるんですが、
掲示板の参照先(URL)の下にイメージ選択のプルダウンみたいなのがあります。
これをアドレスの右側に持っていきたいんです。

<tr>
<td nowrap>参照先</td>
<td><input type=text size=100 name=url value="$url"></td>
</tr>
EOM
# 管理者アイコンを配列に付加
@ico1 = split(/\s+/, $ico1);@ico2 = split(/\s+/, $ico2);
if ($my_icon) {push(@ico1,$my_gif);push(@ico2,"管理者用");}
if ($iconMode) {print "<tr><td nowrap>イメージ</td>
<td><select name=icon class=f>\n";
foreach(0 .. $#ico1) {
if ($ico eq $ico1[$_]) {
print "<option value=\"$_\" selected>$ico2[$_]\n";
} else {print "<option value=\"$_\">$ico2[$_]\n";
}}print "</select> \n";
if ($ImageView == 1) {
print "<a href=\"javascript:ImageUp()\">イメージ全部</a>";} else {
print "[<a href=\"$script?mode=image\" target=\"_blank\">イメージ全部</a>]";
}print "</td></tr>\n";}

URLの右にイメージのプルダウンを持っていきたいんですが、成功しなくて。
table,tr,tdで<tr><td>url</td><td>イメージプルダウン</td></tr>
こういうふうにやっているつもりなんですが、できないんです。
0148nobodyさん04/11/25 11:24:10ID:???
ごめんなさい、書くスレッド間違えました。
改造スレと間違えました、無視してください。
014914304/11/26 01:59:42ID:DNtQ3AXx
んーわからないよー。
CGIを直すということはいいですよね?フォームhtmlではなくて。
0150nobodyさん04/11/26 07:02:07ID:???
>>149
わからんのはこっちだよ
0151nobodyさん04/11/26 14:06:28ID:???
CGIさんはいつねむるの?
0152nobodyさん04/11/26 17:28:14ID:???
>>149
改造スレ池
0153nobodyさん04/11/28 00:39:25ID:NSp660vR
$deny[0] = "***.ne.jp";


こういうアクセス規制をかけるのに、2つ以上連ねて追加するにはどうすればいいのでしょうか?
↓の方法では無理でした。

× $deny[0] = "***.ne.jp""***.ne.jp";

× $deny[0] = "***.ne.jp";"***.ne.jp";

× $deny[0] = "'***.ne.jp','***.ne.jp'";

× $deny[0] = "***.ne.jp","***.ne.jp";
0154nobodyさん04/11/28 00:42:15ID:NSp660vR
自己解決しました
0155nobodyさん04/11/28 01:20:37ID:???

 こ こ は CGIの運用 に 関 す る 質 問 ス レ ッ ド で す。
0156nobodyさん04/11/28 06:55:52ID:???
× $deny[0] = "***.ne.jp""***.ne.jp";

× $deny[0] = "***.ne.jp";"***.ne.jp";

× $deny[0] = "'***.ne.jp','***.ne.jp'";

× $deny[0] = "***.ne.jp","***.ne.jp";

これって、アスタリスクが右下がりに並んでるように見える。
0157nobodyさん04/11/28 07:36:12ID:???
目の付け所がシャープだな
0158nobodyさん04/11/28 13:15:49ID:???
>>156
ほんとだ
目の錯覚か
0159nobodyさん04/11/28 20:31:40ID:???
CGIの質問って意味あるのか?
CGI設置スレもあるし、CGI改造スレもあるし。
こんな糞スレ辞めちまえ!
0160nobodyさん 04/11/28 20:53:55ID:???
>>159
ありきたりのものしか必要としてない馬鹿。
0161nobodyさん04/11/28 21:15:41ID:???
>>160
じゃあ高度な事書いてみろアフォ
0162nobodyさん04/11/28 21:16:41ID:???
ahohahouchishiro
0163nobodyさん04/11/28 22:11:50ID:???
ahoahoahoahoahoahoahoahoahoaho
0164nobodyさん04/11/28 23:10:29ID:???
>>156
うお、すげ。ほんとだ。
0165nobodyさん04/11/28 23:28:37ID:???
設置はインターフェイスと関係ないし、改造はコーディングオンリーじゃん。
0166nobodyさん04/11/29 00:06:32ID:???
mod_*より早くCGIを動かしたりとかは?
そうするとサーバー作ろうって話になるか・・・。
0167nobodyさん04/11/29 00:20:41ID:64Yn/LMC
なぁなぁ「read.cgi」ってファイルから「read.php」を呼び出して実行したいんよ
つまりな「read.cgi」の中身は
「read.phpを呼び出して実行しなさい」だけにしたいんよね
これってどうやればできるんやろか
cgiはようわからんし調べてもわからんかったんよ
誰か助けてくれんかホンマ頼むでよ
0168nobodyさん04/11/29 01:00:31ID:???
>>167
「システム」を上手く使えない奴には無理。
もっとまともな訊き方があるだろ。
つまりは誰からもまともな答えは期待するな。
■ このスレッドは過去ログ倉庫に格納されています