★三 【 スクリプト改造工房 PART 9 】 ★三
- 1 :nobodyさん:2006/03/32(土) 04:52:20 ID:WJnup8Dd
- #================================
# スレッドの説明
#================================
「スクリプトを改造したいけどやりかたわかんないよー」という人がいましたら
ここで聞いてください。ひょっとしたらアドバイス出来るかもしれません。
質問するときは以下の点に注意して書いて下さい
(1) そのスクリプトの内容と置いてある場所を明記する (txtファイルでUPすればなお良い)
(2) どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し)
(3) 出来るだけ詳しく書くこと。少しは自分で考えること。できれば御礼も言ったほうが良い
※答えてくれないからといって逆ギレする厨はお断り
- 156 :150:2006/11/27(月) 16:00:15 ID:kaXmljFh
- 連続投稿規制をつけるほうほうがのってるサイトがあったら教えてください
- 157 :nobodyさん:2006/11/27(月) 16:14:05 ID:???
- そんなピンポイントな方法は需要から考えてもそのものずばりが見つかるとは思えんし
大人しく自分で処理を考えるべきだと思うよ。死ぬほど簡単だし。
実際に動作するサンプルだってそこら中にあるでしょ。
- 158 :150:2006/11/27(月) 16:19:00 ID:kaXmljFh
- わかりました。
どうもありがとうございます。
- 159 :nobodyさん:2006/11/28(火) 16:35:21 ID:???
- 連投規制の処理がKENTの著作だとは知らなかったwww
- 160 :1/2:2006/11/29(水) 22:10:10 ID:???
- PatiPati ttp://www.gnbnet.com/patipati/
メッセージを送るためのフォームです。
これによって出力されるHTMLを改造したいのですが、
どのようにいじればよいものかと悩んでいます。
メッセージの送信ページでは2つの項目を用意していて、
<input type="text" name="com">
このようなinputで名前を送信し、
<textarea name="sub1">
このようなtextareaでメッセージを送信するしくみにしています。
デフォルトの設定では"com"の内容のみ送信され、
"sub1"はユーザがオプションで設置するようにマニュアルで書かれています。
メッセージを送信すると、
送信された内容が以下のように出力されるようになってほしいのですが、
<dl>
<dt>(ここに、<input type="text" name="com">で送ったメッセージが入る)</dt>
<dd>(ここに、<textarea name="sub1">で送ったメッセージが入る)</dd>
</dl>
- 161 :2/2:2006/11/29(水) 22:10:46 ID:???
- 現状では以下のように出力されてしまいます。
<dl>
<dt>(ここに、<input type="text" name="com">で送ったメッセージが入る)
<dd>(ここに、<textarea name="sub1">で送ったメッセージが入る)</dd></dt>
</dl>
index.cgiを改造すれば解決できそうだということは予想がついていて、
70〜80行目あたりの「$QUERY{'com'}」や、
「$msg」あたりをいじれば解決できるだろうと思うのですが…。
なお、現在はそのへんを以下のように書いています。
$QUERY{'com'} .= "\n<dd>$QUERY{$wk}<\/dd>";
$msg = "<dl>\n<dt>$QUERY{'com'}<\/dt>\n<\/dl>";
CGIの知識はまったくないので、このへんをどのようにすればよいのかわかりません。
あと一歩でなんとかなりそうなので、
どなたかお力を貸していただけるとうれしいです。
- 162 :nobodyさん:2006/11/29(水) 22:23:36 ID:???
- バージョンを書き忘れました。すみません。
2006/11/18 Ver3.2 です。
ついでに書いておきますと、
メッセージの送信ページのフォームは以下のように書いています。
<dl>
<dt>名前</dt>
<dd><input type="text" name="com" value="名前" size="40"></dd>
<dt>メッセージ</dt>
<dd><textarea name="sub2" cols="20" rows="4">メッセージ</textarea></dd>
<dt>返信不要ならばチェックしてください。</dt>
<dd><input type="checkbox" name="sub1" value="返信不要">返信不要</dd>
<dt>送信ボタン</dt>
<dd><input type="submit" name="submit" value="送る"></dd>
</dl>
- 163 :nobodyさん:2006/11/29(水) 22:57:56 ID:???
- そこまで分かればもう一歩だったのにな。
$QUERY{'com'} .= "\n<dd>$QUERY{$wk}<\/dd>";
$msg = "<dl>\n<dt>$QUERY{'com'}<\/dt>\n<\/dl>";
を
$QUERY{'com'} .= "<\/dt>\n<dd>$QUERY{$wk}<\/dd>";
$msg = "<dl>\n<dt>$QUERY{'com'}\n<\/dl>";
にしてみそ。
- 164 :160:2006/11/29(水) 23:43:59 ID:???
- >163
どうもありがとうございます。
最初に謝らなければなりません。
>161でname="com"とname="sub1"についてのことを書きましたが、
>162で書いた通り、「返信不要」のオプション(name="sub2")をつけております。
$QUERY{'com'} .= と $msg = を>161のように設定しているときは
name="sub1"とname="sub2"の送信内容に問題がなかったので、
以下のように例文を端折って書いたのですが…。
<dl>
<dt>(ここに、<input type="text" name="com">で送ったメッセージが入る)</dt>
<dd>(ここに、<textarea name="sub1">で送ったメッセージが入る)</dd>
</dl>
>163さんの設定だと
<dl>
<dt>(ここに、<input type="text" name="com">で送ったメッセージが入る)</dt>
<dd>(「返信不要」にチェックを入れた場合のみこの行が入る)</dd></dt>
<dd>(ここに、<textarea name="sub1">で送ったメッセージが入る)</dd>
</dl>
このように「</dt>」が余計になってしまいました。
なお、name="sub2"にチェックしなかったときは希望通りになりました。
せっかく考えていただいてたいへん申し訳ないのですが、
必要な情報をすべて書かなかった私の失敗です。申し訳ございません。
- 165 :160:2006/11/29(水) 23:53:49 ID:???
- 「返信不要」の項目とメッセージを同時に送信しても
「</dt>」が入らなければよいのですが、そのような方法はありますか?
name="com"の内容を「○○」、name="sub1"の内容を「○○」などと、
各nameごとにHTMLのタグを書ければ都合がよいのですが、
元のソースがそういう仕様ではないようなので惜しいです。
もし不可能であれば、「返信不要」のチェックを使用することはあきらめて、
>163さんが書いてくださったものをそのまま使用したいと思います。
あと、>164で『、「返信不要」のオプション(name="sub2")』と書いてしまいましたが、
正しくは、「返信不要」がname="sub1"で、メッセージがname="sub2"でした。
CGIの仕様で、もともとはメッセージをname="com"として送信するしくみになっているので、
そのへんの順番をいじったため、まぎらわしい文章になってしまいました。
- 166 :nobodyさん:2006/11/30(木) 00:38:52 ID:???
- ループの前に
$QUERY{'com'} .= "<dt>$QUERY{'com'}<\/dt>\n";
でループの中に
$QUERY{'com'} .= "<dd>$QUERY{$wk}<\/dd>\n";
でループの後に
$msg = "<dl>\n$QUERY{'com'}\n<\/dl>";
でどうよ。
- 167 :160:2006/11/30(木) 01:25:36 ID:???
- オリジナルのソースと照らし合わせてみたところ、
現在のソースもオリジナルと行番号が同じになっているので、
オリジナル版のソースの行番号を合わせて書きます。
>166
どうもありがとうございます。
「ループの前」というのは、
if($QUERY{$wk} ne ""){}(line69〜)の外側という意味ですよね?
「while($i <= $sub_su){」(line67)と「if($QUERY{$wk} ne ""){」の間に
$QUERY{'com'} .= "<dt>$QUERY{'com'}<\/dt>\n";(>166)を書いてみましたが、
<dt>〜</dt>が何度も出力されてしまいます。
$QUERY{'com'} .= "<dd>$QUERY{$wk}<\/dd>\n";(>166)はline73のそれに置き換え、
$msg = "<dl>\n$QUERY{'com'}\n<\/dl>";(>166)もline79のそれに置き換えてみましたが、
<dd>も同様に、何度も出力されてしまいました。
- 168 :nobodyさん:2006/11/30(木) 01:48:17 ID:???
- 何でifがループなんだよ。
ループはそこのwhileだっての。
- 169 :160:2006/12/01(金) 13:53:05 ID:???
- >168
どうもありがとうございます。助かりました。
Proxomitronでグローバル変数の使い方を習っていたので、
それを応用することでとりあえず解決しました。
if($bk_ck == 0){(line65)の中に
$QUERY{'total'} .= "<dt>$QUERY{'com'}<\/dt>"; を挿入し、
その後の$QUERY{'com'}をすべて$QUERY{'total'}に書き換えることで解決しました。
これで問題なければよいのですが…。
- 170 :150:2006/12/03(日) 14:24:33 ID:MG/kBdop
- 【. CGI名 .】 I-BOARD/2001 v2.4 (必須)
【配布先URL】 http://www.cj-c.com/ (必須)
【. 置き場所 .】 http://www.cj-c.com/cgi_s/ibbs2001.htm (任意)
【ヘルプ内容】 連続投稿15秒規制機能をつけたいのですが
if(現在の時間 - 最終投稿時間 < 10秒)er{エラー10秒待ってください}
if ($date - $Date{$_} < 15){&er_("<br>連続投稿は禁止です。");}
このようにしたのですが
無理のようです。
わかるかたいたらアドバイスお願いします。
- 171 :nobodyさん:2006/12/03(日) 15:16:25 ID:???
- それそもそも動いてるのか?
あとエラー出てるならエラー文書けや
- 172 :170:2006/12/03(日) 18:22:28 ID:Ga649VF2
- >>170
それはぼくにいってるんですかね?
10秒規制を付けたいんですが
いつ投稿しても「連続投稿は禁止です。」とでます。
- 173 :nobodyさん:2006/12/03(日) 18:33:18 ID:???
- >>170
そんな部分的な変更点(しかも文法がおかしい)だけ見せられてもな
おまえ自身よくわかってなさそうだし、現時点でのソースどこかにupして晒せ
- 174 :170:2006/12/03(日) 19:23:11 ID:Ga649VF2
- http://sakuratan.ddo.jp/uploader/source/date27912.txt
こんな感じです。
- 175 :nobodyさん:2006/12/03(日) 19:54:33 ID:???
- 最近のガキは計算の順序も知らんのか?
- 176 :170:2006/12/03(日) 20:20:18 ID:Ga649VF2
- KENTを参考にしてみたんだが
- 177 :nobodyさん:2006/12/03(日) 21:31:55 ID:???
- ヘタレだな。
- 178 :nobodyさん:2006/12/09(土) 20:08:53 ID:???
- 【. CGI名 .】 切って出し日記 Ver2.5
【. 置き場所 .】 http://wws.cside.com/cgi-plant/
【ヘルプ内容】
改造するのはkd_diary.cgiです。
1ページの表示と過去ログへの移行を、設定した件数ごとではなく
月ごとにしたい。
しかし・・・私の改造では、翌月の投稿をしても動作しませんでした。
※ちょうど年も変わりますしね。
やってみたのは、このCGI内の
##########################################
# ログデータ書きこみ
##########################################
の部分。
- 179 :178:2006/12/09(土) 20:10:20 ID:???
- 以下の部分を・・・
if($LOGDATA >= $pagemax) {
$log_data = pop(@LOGDATA);
if($logmax >= 0) {
($l_date,$l_comment,$l_face,$l_weather,$l_color_1,$l_color_2,$l_title,$l_time,$l_min) = split(/<>/,$log_data);
$log_name = $logdir .'/'. substr($l_date,0,4) . substr($l_date,4,2) . '.log';
open(OLD,"$log_name");
@oldLOG = <OLD>;
close(OLD);
unshift(@oldLOG,"$log_data\n");
sort sorter1 @oldLOG;
open(OLD,">> $log_name")|| &error('過去ログファイル/ディレクトリ異常');
print OLD @oldLOG;
close(OLD);
}
}
if($logmax > 0) {
opendir(DIR,"$logdir") || &error('過去ログ格納ディレクトリがありません');
@dirent = grep(/[0-9]+\.log/,readdir(DIR));
@dirent_s = sort(@dirent);
@dirent = reverse(@dirent_s);
closedir(DIR) ;
if($dirent >= $logmax) {
unlink ("$logdir\/$dirent[$dirent]")|| &error("過去ログ($logdir\/$dirent[$dirent])が削除できませんでした");
}
}
- 180 :178:2006/12/09(土) 20:45:46 ID:???
- $log_data = pop(@LOGDATA);
($l_date,$l_comment,$l_face,$l_weather,$l_color_1,$l_color_2,$l_title,$l_time,$l_min) = split(/<>/,$log_data);
#新規投稿データ↓
($n_date,$n_comment,$n_face,$n_weather,$n_color_1,$n_color_2,$n_title,$n_time,$n_min) = split(/<>/,$line);
#現在のログの月を取得
$olddate = substr($l_date,4,2);
#新規投稿データから月を取得
$newdate = substr($n_date,4,2);
#現在の月より、ログの方が大きかったら・・・。
if($olddate < $newdate){
$log_name = $logdir .'/'. substr($l_date,0,4) . substr($l_date,4,2) . '.log';
open(OLD,"$log_name");
@oldLOG = <OLD>;
close(OLD);
unshift(@oldLOG,"$log_data\n");
sort sorter1 @oldLOG;
open(OLD,">> $log_name")|| &error('過去ログファイル/ディレクトリ異常');
print OLD @oldLOG;
close(OLD);
}elsif($olddate eq '12' && $newdate eq '1'){
- 181 :178:2006/12/09(土) 20:46:16 ID:???
- #もし投稿されたのが1月で、直前の月が1月なら。
$log_name = $logdir .'/'. substr($l_date,0,4) . substr($l_date,4,2) . '.log';
open(OLD,"$log_name");
@oldLOG = <OLD>;
close(OLD);
unshift(@oldLOG,"$log_data\n");
sort sorter1 @oldLOG;
open(OLD,">> $log_name")|| &error('過去ログファイル/ディレクトリ異常');
print OLD @oldLOG;
close(OLD);
}
#ここまで
- 182 :178:2006/12/09(土) 20:49:38 ID:???
- あ・・・ミスったorz
>>180+>>181に変えた、ということです。
エラーなどはないのですが、
月が変わったことによる現行ページの更新ができないまま
それまでのログにそのまま追加されてる感じです。
- 183 :nobodyさん:2006/12/24(日) 04:13:24 ID:9TMcOB7X
- 【. CGI名 .】 レス付き画像掲示板 imgboard
【. 置き場所 .】 http://www.big.or.jp/~talk/t-club/soft/mini_r6/index.cgi
【ヘルプ内容】 掲示板への投稿が一定数以上なければ、閲覧することが
できない制限をつけたいのですが、わかりません。
(来訪者の割りに投稿者が少なく、DOMを減らしたいため)
Perlコーディング初心者質問スレ Part 53 ⇒改造スレへ誘導されました。
- 184 :183:2006/12/24(日) 04:14:08 ID:9TMcOB7X
- ↓こんなのを考えてみましたが、どのあたりに置いたら良いのかわかりません。
(書込みルーチンが長すぎて)
##### 投稿数をcookieに保存する #####
&read_cookie# cookie読込(imgboardルーチン)
$post_count = $COOKIE{'imgboard_post'}
$new_post_count = $post_count++;#投稿数を1つ加算する
# 有効期限を30日間に指定
($sec, $min, $hour, $mday, $mon, $year, $wday) = gmtime(time + 60*60*24*30);
@mons = ('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec');
$date = sprintf("%s, %02d\-%s\-%04d %02d:%02d:%02d GMT",
$week[$wday], $mday, $mons[$mon], $year+1900, $hour, $min, $sec);
print "Content-type: text/html\n";
print "Set-Cookie: imgboard_post =$new_post_count; expires=$date; \n";
-----------------------------------------------------------
##### 2回以上投稿があれば、掲示板の中身を表示する #####
&read_cookie# cookie読込(imgboardルーチン)
$post_count = $COOKIE{'imgboard_post'}
if ($post_count > 1) {# 2回以上投稿あるとき、
&top_html;# ヘッダ表示(imgboardルーチン)
&output_form_html;# 投稿画面を表示(imgboardルーチン)
&output_html("$file");# 掲示板を表示(imgboardルーチン)
} else {
&top_html;# ヘッダ表示(imgboardルーチン)
&output_form_html;# 投稿画面のみ表示(imgboardルーチン)
}
- 185 :183:2006/12/26(火) 15:44:50 ID:p3+/o574
- 自己解決、完成しました。
- 186 :nobodyさん:2006/12/28(木) 17:03:53 ID:6RqsItPR
- 【. CGI名 .】 Web Board Professional http://www.web-liberty.net/download/boardpro/index.html
(ただし、Ver.2.27です。最新はVer.3.15)
【ヘルプ内容】 転送アドレスを利用した上でクッキーを有効にしたい。
無料の転送アドレスを取得し、本来のアドレスを隠していますが、
そうするとクッキーが利かなくなってしまいます。
クッキーがリファラを記憶し、照合しているため、転送アドと不一致となり、無効となっているようです。
以下がクッキー関連の処理部分です。
どうかお知恵をお貸しください。
sub get_cookie {
local($cookie_id) = @_;
local %all_cookies = ();
foreach (split(/; /, $ENV{'HTTP_COOKIE'})) {
local($key, $value) = split(/=/);
$all_cookies{"$key"} = $value;
}
foreach (split(/&/, $all_cookies{"$cookie_id"})) {
local ($key, $value) = split(/:/);
$value =~ s/&/&/g;
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/"/"/g;
$cookie{&unescape($key)} = &unescape($value);
}
return %cookie;
}
- 187 :186:2006/12/28(木) 17:05:58 ID:6RqsItPR
- 続きです
sub set_cookie {
local(*cookie, $cookie_id, $hold_days) = @_;
if (time() > $cookie{'refresh'} + 60 * 60 * 24 * 30) {
$cookie{'refresh'} = time();
}
local @pairs = ();
foreach (sort keys %cookie) {
push(@pairs, &escape($_) . ':' . &escape($cookie{"$_"}));
}
local $new_cookie = join('&', @pairs);
local $date = &gmt_date(time + 60 * 60 * 24 * $hold_days);
if ($new_cookie ne $all_cookies{"$cookie_id"}) {
print "Set-Cookie: $cookie_id=$new_cookie; expires=$date\n";
}
return;
}
- 188 :nobodyさん:2006/12/29(金) 13:59:16 ID:???
- >>186
クッキーは異なるドメインは参照できない。
それに本来のアドレスを隠すといっているが、ばればれ。
とくにフレーム転送とか。
- 189 :186:2006/12/29(金) 17:41:09 ID:???
- >>188
根本的にダメなんですね。ありがとうございました。
- 190 :nobodyさん:2007/01/03(水) 10:54:46 ID:O8K3holw
- :
- 191 :nobodyさん:2007/01/05(金) 12:33:37 ID:???
- 【. CGI名 .】 Ans.Q Customize Version(クッキー対応版)
【配布先URL】 http://www.non-policy.com/customize-box/ansq/#question
元々の配布先 http://www7.big.or.jp/~jawa/
【ヘルプ内容】 Ans.Qの1.40をつかっていたのですが、
書き込みの時間を入れたくて、上記改造版を設置してみたのですが、
コメントがついてもその記事が一番上に移動しません。
どこをどうすればわからなくてこちらに来てしまいました。
元のサイトで配布されていたいた1.4バージョンは自動で移動していました。
よろしくお願いします。
- 192 :nobodyさん:2007/01/06(土) 02:34:41 ID:5JmlMvQ+
- 【. CGI名 .】 MSUBoard v0.15[PHP]
【配布先URL】 http://cgi-lounge.eek.jp/msuboard.php
【ヘルプ内容】 このスクリプト自体がauだけにしか対応していないので、3キャリア
もしくはDoCoMoだけには対応してほしいです。よろしくお願いします。
- 193 :nobodyさん:2007/01/06(土) 03:38:24 ID:WO53R+Nq
- 【. CGI名 .】 PHP JoyfulNote
【配布先URL】 http://script.s16.xrea.com/index2.php
【ヘルプ内容】 画像掲示板なのですが、名前とコメントだけでも投稿できるため、
海外からの定期的なスパム投稿で困ってます。
新規投稿には画像添付が必須になるようにお願いします。
- 194 :nobodyさん:2007/01/06(土) 22:49:45 ID:lBOtCkKI
- 【. CGI名 .】 askabbs
【配布先URL】 http://www.kent-web.com/
【. 置き場所 .】 http://www.kent-web.com/
【ヘルプ内容】
・投稿する本文に半角カタカナがあったらエラーメッセージを出したい。
・しかし「・」など、カタカナ以外はエラーにならないようにしたい。
本文を一旦EUCにして半角カタカナの有無を判定させるのはググればコードがあったので
以下のように書いてOKでした。
が、「・」が半角の場合までエラーになってしまいます。
カタカナ以外を半角カタカナと認識させないというのは、できないものでしょうか?
&jcode'convert(*message, "euc");
if ($message =~ /\x8E/) {&error("ERROR<br>半角カタカナが含まれています");}
&jcode'convert(*message, "sjis");
- 195 :nobodyさん:2007/01/06(土) 22:55:55 ID:???
- >>193
海外からのスパム投稿なら、日本語を含まない投稿を遮断したら?
- 196 :nobodyさん:2007/01/08(月) 19:16:50 ID:RAFN8Ic4
- 【. CGI名 .】テキストカウンタDX
【配布先URL】http://apps.cside.com/cgi/counter/txtcntdx/
【. 置き場所 .】http://apps.cside.com/cgi/counter/txtcntdx/
【ヘルプ内容】設定画面で直前のIPアドレスのカウント拒否はできるんですが、
直前ですので、リーロードがあるとまたカウントされたりしてしまいます。
できれば24時間以内に同一IPはカウントをしないなど改造できないでしょうか。
自分では非力でできませんした。
どうかよろしくお願いします。
- 197 :nobodyさん:2007/01/09(火) 21:22:59 ID:kjLanKuN
- >>193
ここでスパム対策版を配布してる。
ttp://swanbay-web.hp.infoseek.co.jp/index.html
- 198 :nobodyさん:2007/01/10(水) 05:55:31 ID:???
- 【. CGI名 .】HiddenCounter Model4(隠しカウンタ/ダウンロードカウンタスクリプト)
【配布先URL】http://www.chitta.com/nobu/download/
【. 置き場所 .】http://up.spawn.jp/file/up64354.txt.html
【ヘルプ内容】
<a href="hcnt4.cgi?カウンタ名@ファイルURL">ダウンロード</a>
のように呼び出してカウントさせるダウンロードカウンタです。
ログの閲覧(hcnt4.cgi?パスワード)ページには、カウンタ名とヒット数だけが載ります。
そのログの閲覧ページで、ファイルURLをカウンタ名にリンクさせる形で表示したいのですが、方法が分かりません。
カウンタ名は「$name」、ファイルURLは「$Url」、ヒット数は「$value」になっているみたいなので、単純に
<a href="$Url">$name</a>
としたのですが、設置ディレクトリがリンクされるだけで、ファイルURLをリンクさせる事ができませんでした。
どうすればファイルURLをリンクさせる事ができるのか、アドバイスを頂けないでしょうか。宜しくお願い致します。
※テスト環境ではパスワード($Password)は「1234」としています。
- 199 :nobodyさん:2007/01/10(水) 06:40:46 ID:ALgB1HLh
- 保守
- 200 :196:2007/01/12(金) 15:49:54 ID:Sg/zwaZY
- 保守
- 201 :nobodyさん:2007/01/15(月) 00:23:08 ID:ho2dYuVd
- 【. CGI名 .】Online Server Status v 1.4 English Version
【配布先URL】http://www.schwebdesigns.com/serverstatus/
【. 置き場所 .】http://cowboy.jf.land.to/test.html
【ヘルプ内容】
サーバーの状態確認PHPなのですが、現在サイトのトップページに使用しています。
このスクリプトを最終訪問者から10分後に来た訪問者が実行するようにしたいのです。
最終訪問者の時間記録>次の訪問者>時間確認>10分以内ならサーバーに問い合わせず、画像そのまま。
という形に出来ませんでしょうか?
いざ改造しようにも手も足も出ず書き込んだ次第です。宜しくお願いいたします。
- 202 :nobodyさん:2007/01/15(月) 15:33:53 ID:???
- マルチはクタバレ。
- 203 :201:2007/01/15(月) 18:14:43 ID:???
- 重複申し訳有りません。
丸投げスレに依頼しましたのでそちらの方でお願い致します。
- 204 :198:2007/01/19(金) 22:25:32 ID:???
- 宜しくお願いします
- 205 :nobodyさん:2007/01/20(土) 23:53:45 ID:???
- >>198
hcnt4.datの中身見れば分かると思うけど、
そのスクリプトはカウンタ名とダウンロード回数しか記録していない。
集計モードではファイルの置き場所が分からないのでそれを表示なんて無理。
どうしてもこのカウンタにこだわるのなら
ダウンロード回数をカウントする際にダウンロード先のURLも合わせて記録するようにすれば
一応おまいのやりたかったことも実現できるけど、
おまいの腕なら改造するよりそういう機能を持った別のCGIを探した方が早いだろう。
- 206 :198:2007/01/21(日) 02:04:43 ID:???
- >>205
レスありがとうございます。
>ダウンロード回数をカウントする際にダウンロード先のURLも合わせて記録する
にチャレンジしていたのですが、自力では無理そうです。
私はこのCGIを気に入っていたのですが、変に改造して不具合が出ても困りますし、(今更ですが)別のものを探した方が早いと思うので、諦めて他に乗り換えます。
アドバイスありがとうございました。
- 207 :nobodyさん:2007/01/23(火) 19:05:41 ID:???
- どなたかお願い致します。
【. CGI名 .】 Web Patio 3.06
【配布先URL】 http://www.kent-web.com/
【ヘルプ内容】
投稿フォームにプルダウン式の項目を追加し、その項目をスレッドタイトル横に表示させたいのですが
どのように改造すれば良いのでしょうか…
配布元のサポートの過去ログに「ラジオボタンで項目追加したい」と言う物があり、(http://www.kent-web.com/support/old/62/0281.html)
それを参考に見よう見真似でプルダウンに置き換えてみたのですが、
初心者な上に、バージョンも違うので何をどこに追加挿入していいかわからなくなってしまいます…
どなたかお力添えお願い致します。
- 208 :nobodyさん:2007/01/23(火) 19:40:59 ID:???
- 当然ここで聞く前にKENTのサポート板でも聞いたよね?
そこでは何と言われたのかな?
- 209 :207:2007/01/23(火) 22:01:06 ID:???
- >>207で記述した過去ログを参考にしてみろと言われましたが、
やっぱり上手く行かなかったのでこちらに質問に来ました…
- 210 :nobodyさん:2007/01/23(火) 22:15:16 ID:???
- KENTのサポート板でちゃんと「言われた通りに過去ログを参考にしてみたけど
やっぱり分かりませんでした」と言ったんだよね?
- 211 :207:2007/01/23(火) 22:24:47 ID:???
- そこまではしませんでした…!
また新にスレッドを作成して聞いてみたいと思います><
厳しいご対応ありがとうございました。
ご迷惑お掛けしてしまい申し訳ございませんでした。
- 212 :nobodyさん:2007/01/23(火) 23:14:12 ID:???
- 新しいスレッドじゃなく今のスレッドに続けてレスで書いた方がいいんじゃないかと思うんだが・・・
質問の内容は続いてるのに、いちいちスレッド立てられたら禿しくウザイよ。
KENTのサポート板覗いたことないからどういう構造になってんのか知らんけどさ。
- 213 :nobodyさん:2007/01/26(金) 08:18:44 ID:FhPFkwLT
- 【. CGI名 .】 SS(C-BOARD)
【配布先URL】 http://www.skullysoft.com/ssc-board/
【ヘルプ内容】 携帯の固体識別番号を取得し、その取得の際通知を拒否した者をはじきたいのですがどうしたら良いでしょうか?ご伝授ください。
- 214 :nobodyさん:2007/01/26(金) 10:47:43 ID:???
- 自己解決しました。アクセル解析してif文で振り分けますね。
- 215 :nobodyさん:2007/01/26(金) 14:08:16 ID:???
- ヴゥォオオン!!ヴゥォオォオオン!!!
- 216 :196:2007/01/27(土) 09:14:27 ID:0yEfcEBm
- 誰かお願いします;;
- 217 :nobodyさん:2007/01/27(土) 15:15:20 ID:???
- 自分でやる気がないものをここで聞くな。
- 218 :196:2007/02/02(金) 12:58:55 ID:tLR7xhcU
- 自分でできました!
やる気だせばタグを追加すればいいだけで簡単でした。
死ね糞ども。
- 219 :nobodyさん:2007/02/03(土) 11:40:42 ID:???
- kent webにあるWEB PATIOの掲示板でスレッドの返信数を多くしたいので
すが(1000くらい)。
普通に返信数の設定を1000に変えるだけで問題はありませんか?
それともSQLとかデータベースを使ったほうがいいですか?
- 220 :nobodyさん:2007/02/03(土) 11:46:44 ID:???
- 知らんがな。サーバ運営に聞けよ。
まあマジレスするとたかだか1000件程度ならデータベースはいらんと思うけどな。
- 221 :nobodyさん:2007/02/12(月) 19:46:19 ID:???
- アイコンを1つだけ選択して表示するためのルーチンを改造し
複数選択して表示できるようにしたいのですが
アドバイスいただけますでしょうか。
ラジオボタン式からチェックボックス式に変えてみましたが、
当然というか、それだけでは複数表示できませんでしたorz
以下、そのルーチン部分です。
sub icon_select {
unshift(@icon_image,"");
if($icon eq ""){ $icon = $icon_image[0]; }
$sel = "";
foreach $ico (@icon_image) {
if($ico ne ""){ $ico_img = "<img src=\"$icon_dir$ico\" align=\"absmiddle\">"; }else{ $ico_img = "なし"; }
if($ico eq $icon){ $sel .= "| <input type=\"radio\" name=\"icon\" value=\"$ico\" checked>$ico_img \n";}
else{ $sel .= "| <input type=\"radio\" name=\"icon\" value=\"$ico\">$ico_img \n";}
}
$sel .= " |\n";
return $sel;
}
- 222 :nobodyさん:2007/02/12(月) 20:52:26 ID:???
- >>221
同じnameで複数の値を送信する用に改造したい場合、
・値を受け取るところで、値を変数に入れている部分を複数の値を配列に入れる改造が必要である。
・アイコンを表示する部分では配列に入った分だけ表示されるように改造する必要がある。
- 223 :221:2007/02/13(火) 02:12:51 ID:???
- >>222
アドバイスありがとうございます。
教えていただいた事を参考に改めて挑戦してみます。
- 224 :nobodyさん:2007/02/21(水) 14:01:46 ID:???
- 【. CGI名 .】 アイコンTeaChatV2
【配布先URL】 http://blog.tirno.net/e212.html
【.動作サンプル .】 http://www.tirno.net/chat2/chat.cgi
【ヘルプ内容】
TEACHATにpup.cgiを追加したユーザーアップロード形式のアイコンチャットなのですが、
このアイコンが基本的に登録した順にセレクトボックス内に並ぶので、一人で複数とか登録すると
だんだんと探したり入室中に変えたりが遣りづらくなってしまいます。
また、登録時にパスを設けた専用アイコンは、また別に並ぶので、
「登録アイコン」「専用アイコン」それぞれを名前昇順で自動的にソートするようにしたいです。
- 225 :nobodyさん:2007/02/21(水) 14:05:25 ID:???
- 長くなってしまったので続きます。
関係部分はこんな感じです。(html.plの590〜672行あたり)
if(@iconu1){
$facemark = $facemark."<optgroup label=\"〜登録アイコン〜\">";
}
foreach (0 .. $#iconu1){
$icon_value = $icon_url . "\/" . $iconu1[$_];
if (!$icon) { $icon = $icon_value; }
if ($icon eq $icon_value) {
$iconch = " selected";
} else {
$iconch = "";
}
$facemark = $facemark."<option value=\"$icon_value\"$iconch>$iconv1[$_]\n";
}
if(@iconu1){
$facemark = $facemark."</optgroup>\n";
自分でも色々遣ってみたのですが配列が二重だからか、
ソート関数の使い方が今ひとつ要領を得なかったので此方で質問させていただきました。
宜しければどなたかご教授願えませんでしょうか?
- 226 :nobodyさん:2007/03/02(金) 01:24:23 ID:???
- ttp://www.42ch.net/UploaderSmall/source/1171796861.zip
このスクリプトで、ログファイルへのデータ追加時に
現在の年日時を取得して
2007/2/18 20:09
のような形式で行の末端に自動的に書き込むようにしたいのですが、
どの部分にどのような処理を加えれば良いでしょうか?
- 227 :nobodyさん:2007/03/04(日) 21:22:44 ID:???
- とりあえず自分でどう書いてどう動かないのか言ってみ?
- 228 :nobodyさん:2007/03/10(土) 17:08:20 ID:???
- sendmailについてお聞きしたいのですが
open(DATA,'| /usr/sbin/sendmail -t "xxxxxx@xxx.xxx"');
これなら通るのですが
$mlto="xxxxxx@xxx.xxx";
open(DATA , '| /usr/sbin/sendmail -t $mlto');
これだと通らないで困っています。
目的はログイン制CGI内部でメンバの特定人物指定によるメッセージ機能で
メッセージが入るとmsnメッセンジャーや携帯メールにお知らせするためのものです
サーバーは個人運営してるところでお借りしているのですがそちらに問い合わせる
前にこちらで相談してからと思いました。基礎を知らないものですみません。
アドバイスがあればよろしくお願いいたします。
- 229 :nobodyさん:2007/03/10(土) 18:29:56 ID:???
- シングルクォート内では変数は展開されない
- 230 :228:2007/03/10(土) 22:32:41 ID:???
- >>229
そうでした。忘れてました。ご指摘ありがとうざいます。
ダブルクォートで試してみましたがダメでした。
open(DATA , "|$mailer -t $mlto");も検索して見つけた次行
open(DATA , "|$mailer -t '$mlto'");もダメでした。
open(DATA , "|$mailer -t");print・・・; print DATA "To :$mlto";もダメでした。
一応一通り試してみたのですが自分では解決できそうにありません。
なにかアドバイスがあればよろしくお願いいたします。
- 231 :nobodyさん:2007/03/10(土) 23:18:11 ID:???
- >>228で>>229と言われて>>230に走るようでは
それ以上火傷しない内にもう止めろと言いたくなる。
- 232 :228:2007/03/11(日) 00:10:26 ID:???
- >>231
言われる前に一通り試したのですがダメだったので相談しにきたのですが
止めろと言われるなら素直に借りてるサーバの管理者に相談します。
ありがとうございました。
- 233 :nobodyさん:2007/03/12(月) 19:01:30 ID:D70wnXmo
- 【. CGI名 .】 2chブラウザ対応掲示板 (PATH_INFO対応) - Perl版 -
【配布先URL】 http://perl.toshinari.net/cgi/bbs/new2ch/index2.html
【ヘルプ内容】 PC版の場合、アドレスがttp://homepage/ID/(ttp://homepage/test/read.cgi/ID/)となるんですが
携帯のアドレスはttp://homepage/test/mread.cgi/ID/でしかアクセスできません
ttp://homepage/ID/i/でアクセスできる様にしたいのでお願いします
- 234 :nobodyさん:2007/03/12(月) 21:45:30 ID:???
- 【. CGI名 .】KENT SUN BOARD(HTMLボード) Ver: 3.9
【配布先URL】http://www.kent-web.com/bbs/sunbbs.html
【ヘルプ内容】携帯には対応してはいませんが、文字サイズを小さくしたりして
一応携帯からも表示できるようにしました。
そこで、携帯から書き込みをした時に機種名を表示させたいのですが、
とりあえず時間取得の変数に混ぜて表示させてました。
日時のあとに DoCoMo/2.0 N903i(c100;TB;W24H12) このように表示されるのですが、
このN903iの部分だけ表示させるにはどうしたらよいでしょうか?
改造した部分も書いたほうがいいでしょうか?
- 235 :nobodyさん:2007/03/13(火) 09:00:16 ID:???
- >>234
そこまでできたならperl板行った方が…
正規表現で
^DoCoMo.* (.*)\(.+$
で\\1をとればいいんじゃないかな。
- 236 :nobodyさん:2007/03/13(火) 13:23:35 ID:???
- 【. CGI名 .】 nicky.cgi
【配布先URL】 ttp://www.din.or.jp/~raelian/ReadMeNicky.html
【ヘルプ内容】
同日に記事を二つ以上作成すると、デフォルトでは後に作成したほうが上に来ます。
それを後に作成したほうを前に作成した記事の下に来るようにしたいです。
よろしくお願いします。
- 237 :nobodyさん:2007/03/13(火) 17:28:48 ID:???
- >>235
ありがとうございます。
web製作板から誘導されてきたもので。
箇所を書きます。できればここにその形で修正を施してくれればありがたいです。
- 238 :nobodyさん:2007/03/13(火) 17:29:36 ID:???
- #-------------------------------------------------
# 時間取得
#-------------------------------------------------
sub get_time {
local($date,@week);
$ENV{'TZ'} = "JST-9";
local($min,$hour,$mday,$mon,$year,$wday) = (localtime(time))[1..6];
@week = ('Sun','Mon','Tue','Wed','Thu','Fri','Sat');
# 日時のフォーマット
if ($whatsnew) {
$date = sprintf("%04d-%02d-%02d (%s)",
$year+1900,$mon+1,$mday,$week[$wday]);
} else {
$date = sprintf("%04d/%02d/%02d(%s) %02d:%02d",
$year+1900,$mon+1,$mday,$week[$wday],$hour,$min);
# UA記録
my $ua = $ENV{'HTTP_USER_AGENT'};
if ($ua =~ /^L-mode/) {
$ua = 'L-mode';
} elsif ($ua =~ /^Mozilla/){
$ua = 'PC';
}
$date .= " $ua";
# UA記録終了
}
$date;}
- 239 :nobodyさん:2007/03/13(火) 17:31:08 ID:???
- こんなかんじで後は$dateをログ生成の適当なところに書き加えてました。
正直今までプログラミングやったことがないので、何度もコピペしたりテストしたりして
と、まるっきり初心者です。
何度も携帯機種表示は試したのですがまるっきり。
もしあれならばperl板に誘導していただければ。
- 240 :nobodyさん:2007/03/14(水) 09:16:53 ID:???
- >>239
if ($ua =~ /^L-mode/) {
$ua = 'L-mode';
} elsif ($ua =~ /^Mozilla/){
$ua = 'PC';
} elsif ($ua =~ /^DoCoMo.* (.*)\(.+$/) {
$ua = $1;
}
- 241 :nobodyさん:2007/03/14(水) 20:29:06 ID:???
- >>240
ありがとうございます。
できました。
- 242 :236:2007/03/16(金) 04:59:07 ID:???
- すみません、自己解決しました。
- 243 :nobodyさん:2007/03/21(水) 15:25:47 ID:???
- jewel掲示板
http://www.groo-web.com/jewel.html
この掲示板に禁止ワード設定を組み込みたいんですが、
jewel(改)
http://xxxw007.s12.xrea.com/cgi/merutomo.htm
を見て、CGI本体の中に入れてもどうしてもエラーになってします。
あちこちの掲示板CGIを落として見て、jewelCGI本体の中に入れてもエラー。
どうカスタマイズしたら禁止ワード設定を組み込めるでしょうか?
初心者ですが、jeweはなんとか設置できました。.htaccecsもできた。
あーとーはー禁止ワードだーけー・・・orz
なんとか、教えて下さい。お願いします。
- 244 :243:2007/03/21(水) 16:25:13 ID:TD8dcTEz
- # 禁止ワード(いくつでも追加可能)
#例 ('死ね','淫乱','援助交際','docomo')
#新規登録時の名前 タイトル メッセージ ホストに適用。
@input_deny = ('死ね','','');
##--禁止ワードチェック--##
foreach (@input_deny) {
if ($in{'name'} =~ /$_/i) { &error("名前に禁止ワードが含まれています。"); }
if ($in{'title'} =~ /$_/i) { &error("タイトルに禁止ワードが含まれています。"); }
if ($in{'comment'} =~ /$_/i) { &error("メッセージに禁止ワードが含まれています。"); }
}
これを追加するとエラーになってしまうのです。
何か足りないのでしょうか?
- 245 :243:2007/03/21(水) 16:30:54 ID:TD8dcTEz
- #■投稿禁止ワード ""で囲って記入 複数設定する場合は『,』で区切ってください
# 設定した文字列が名前かメッセージに含まれる場合、投稿できません
# 必要ない場合は()
@deny_words = ("アダルト","エロ");
foreach $d_words (@deny_words) {if ($title =~ /$d_words/i) {&error("名前に投稿できない言葉が含まれています");} }
foreach $d_words (@deny_words) {if ($message =~ /$d_words/i) {&error("メッセージに投稿できない言葉が含まれています");} }
これは違うスクリプトですが、
これだけでもできますか??
- 246 :nobodyさん:2007/03/21(水) 17:32:36 ID:???
- >243
マルチポストしてんじゃねーよ
市ねよクズ
http://pc11.2ch.net/test/read.cgi/hp/1166794984/455
http://pc11.2ch.net/test/read.cgi/php/1157787046/403
- 247 :243:2007/03/21(水) 17:38:39 ID:TD8dcTEz
- 他のあとにココ見つけたのですよ。ですから他には1つだけです。以下続き。
#####イタズラ投稿防止設定
# リモートホスト(またはIPアドレス)での投稿拒否
#ppp123.abc.or.jp などの場合は、数字の部分がアクセスのたびに異なるので
#数字の部分を .* (ピリオド+アスタリスク)に置き換えます。
#@deny = ('ppp.*.abc.or.jp','web.net'); #などと設定します。
@deny = ();
# 投稿記事内容にふさわしくない語句の禁止
# @word = ('セックス','エッチ','スカトロ','test', 'あああ','馬鹿');#などと設定。
@word = ();
#投稿拒否
sub deny {
foreach (@deny) {
if ( $host =~/$_/ ){ &error(1,"あなたの投稿は許可されてません。"); }
}
}
#禁止ワードチェック
sub wordcheck {
local($string) = $_[0];local($line);
foreach $line(@word) {
if (index($string,$line) >= 0) {
&error(1,"$line<BR>使用禁止の文字が使われているようです。");
}
}
これでは?
- 248 :243:2007/03/21(水) 18:30:09 ID:TD8dcTEz
-
うー、ページがエラーにならず書き込みができたのは以下だけですが、
禁止設定が働かない。何が足りないのでしょうか??
#■投稿禁止ワード ""で囲って記入 複数設定する場合は『,』で区切ってください
# 設定した文字列が名前かメッセージに含まれる場合、投稿できません
# 必要ない場合は()
@deny_words = ("アダルト","エロ");
foreach $d_words (@deny_words) {if ($title =~ /$d_words/i) {&error("タイトル名前に投稿できない言葉が含まれています");} }
foreach $d_words (@deny_words) {if ($comment =~ /$d_words/i) {&error("メッセージに投稿できない言葉が含まれています");} }
もう寸前まで出来てる気がする・・・
- 249 :nobodyさん:2007/03/21(水) 18:57:27 ID:???
- >>243
>>5嫁
- 250 :243:2007/03/21(水) 19:30:00 ID:TD8dcTEz
- エラーは毎回Internal Server Errorと出ます。
鯖のログには何も。。掲示板のエラーログはありません。
やはり無理なのかな・・・orz
ランキング2つ、掲示板1つをムーバブル・タイプの中に設置、
ベーシック認証も設置できたのに、このカスタマイズで初挫折。
やはりカスタマイズは難しいですね。
ちなみに、CGIも巡り会って1週間の初心者です。
- 251 :nobodyさん:2007/03/21(水) 20:24:05 ID:???
- ローカルにサーバも立てられない餓鬼にCGIなんてまだ早い。
>>243には絶対無理なので受精卵からやり直すように。
- 252 :nobodyさん:2007/03/22(木) 17:29:14 ID:ZUn5Ffec
- なんだよ。結局誰も答えられないのかよ。
糞スレ終了だなwww
- 253 :nobodyさん:2007/03/22(木) 21:27:27 ID:???
- マルチポストしてなけりゃ、ヒントくらいは教えてやってもいいかと思ったんだけどねえ
3回も同じものを読まされたらそんな気は失せる
- 254 :nobodyさん:2007/03/22(木) 21:50:49 ID:ZUn5Ffec
- オマエもただのカスだなwwwwww
- 255 :nobodyさん:2007/03/22(木) 22:03:46 ID:8uBdXhS9
- 何で教えてもらう側の態度ってのが出来ないのかねぇ
わけのわからん売り言葉見てると折角のモノも書く気も起きん
- 256 :nobodyさん:2007/03/26(月) 04:28:29 ID:???
- 【 CGI名 】 Anthologys
【 配布先URL 】 http://www2s.biglobe.ne.jp/~yasuu/cgi2.html
【 利用規約(改造OK確認)】http://www2s.biglobe.ne.jp/~yasuu/cgi1.html
【 依頼内容 】 投稿するときの名前のクッキー保存をKENTさんとこと同じようにしてほしい。
名前を保存すると、文字化けするからです。
よろしくお願いします。
142 KB
[ 2ちゃんねる 3億PV/日をささえる レンタルサーバー \877/2TB/100Mbps]
■ おすすめ2ちゃんねる 開発中。。。 by FOX ★
このスレを見ている人はこんなスレも見ています。(ver 0.20)
Sleipnir Part206 [Windows]
RinGOch Part2 [ソフトウェア]
Pioneer「DVR-*12系」CD不具合スレ その4 [CD-R,DVD]
全文検索エンジン Hyper Estraier 2 [UNIX]
第二次ビューティフルピープル [ソーシャルネット]
新着レスの表示
掲示板に戻る
全部
前100
次100
最新50
read.cgi ver 05.0.7.8 2008/09/25 アクチョン仮面 ★
FOX ★ DSO(Dynamic Shared Object)