★三 【 スクリプト改造工房 PART 9 】 ★三
at PHP
[前50を表示]
150:nobodyさん
06/11/26 12:42:51 Y4Eo2nyo
【. CGI名 .】 I-BOARD/2001 v2.4 (必須)
【配布先URL】 URLリンク(www.cj-c.com) (必須)
【. 置き場所 .】 URLリンク(www.cj-c.com) (任意)
【ヘルプ内容】
・連続投稿規制をつけたいのですが
どのようにすればいいかわかりません。アドバイスお願いします。
・トピック表示のときにレスしたあとに飛ぶページが掲示板のトップページなので
レスしたあと飛ぶページをレスしたスレッドのページに飛ぶようにしたいのです。
アドバイスお願いします。
151:nobodyさん
06/11/26 18:47:16
>>150
ひとつめ
投稿のたびにIPを記録して同じIPなら規制すればいい
ふたつめ
Location
152:150
06/11/26 19:19:57 tkb0DDKs
>>150ですが
説明不足でした。>>151さんすいません。
秒数で連続投稿規制をつけたいのです。
一回投稿したら、10秒は投稿できないようなものです。
よろしくお願いします。
153:nobodyさん
06/11/26 21:17:21
KENTのBBSからその部分パクればええやん
154:150
06/11/26 21:53:46 tkb0DDKs
>>153
それってなにか違反になったりしませんよね?
155:nobodyさん
06/11/27 08:02:30
再配布とかしない限りはな
156:150
06/11/27 16:00:15 kaXmljFh
連続投稿規制をつけるほうほうがのってるサイトがあったら教えてください
157:nobodyさん
06/11/27 16:14:05
そんなピンポイントな方法は需要から考えてもそのものずばりが見つかるとは思えんし
大人しく自分で処理を考えるべきだと思うよ。死ぬほど簡単だし。
実際に動作するサンプルだってそこら中にあるでしょ。
158:150
06/11/27 16:19:00 kaXmljFh
わかりました。
どうもありがとうございます。
159:nobodyさん
06/11/28 16:35:21
連投規制の処理がKENTの著作だとは知らなかったwww
160:1/2
06/11/29 22:10:10
PatiPati URLリンク(www.gnbnet.com)
メッセージを送るためのフォームです。
これによって出力される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
06/11/29 22:10:46
現状では以下のように出力されてしまいます。
<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さん
06/11/29 22:23:36
バージョンを書き忘れました。すみません。
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さん
06/11/29 22:57:56
そこまで分かればもう一歩だったのにな。
$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
06/11/29 23:43:59
>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
06/11/29 23:53:49
「返信不要」の項目とメッセージを同時に送信しても
「</dt>」が入らなければよいのですが、そのような方法はありますか?
name="com"の内容を「○○」、name="sub1"の内容を「○○」などと、
各nameごとにHTMLのタグを書ければ都合がよいのですが、
元のソースがそういう仕様ではないようなので惜しいです。
もし不可能であれば、「返信不要」のチェックを使用することはあきらめて、
>163さんが書いてくださったものをそのまま使用したいと思います。
あと、>164で『、「返信不要」のオプション(name="sub2")』と書いてしまいましたが、
正しくは、「返信不要」がname="sub1"で、メッセージがname="sub2"でした。
CGIの仕様で、もともとはメッセージをname="com"として送信するしくみになっているので、
そのへんの順番をいじったため、まぎらわしい文章になってしまいました。
166:nobodyさん
06/11/30 00:38:52
ループの前に
$QUERY{'com'} .= "<dt>$QUERY{'com'}<\/dt>\n";
でループの中に
$QUERY{'com'} .= "<dd>$QUERY{$wk}<\/dd>\n";
でループの後に
$msg = "<dl>\n$QUERY{'com'}\n<\/dl>";
でどうよ。
167:160
06/11/30 01:25:36
オリジナルのソースと照らし合わせてみたところ、
現在のソースもオリジナルと行番号が同じになっているので、
オリジナル版のソースの行番号を合わせて書きます。
>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さん
06/11/30 01:48:17
何でifがループなんだよ。
ループはそこのwhileだっての。
169:160
06/12/01 13:53:05
>168
どうもありがとうございます。助かりました。
Proxomitronでグローバル変数の使い方を習っていたので、
それを応用することでとりあえず解決しました。
if($bk_ck == 0){(line65)の中に
$QUERY{'total'} .= "<dt>$QUERY{'com'}<\/dt>"; を挿入し、
その後の$QUERY{'com'}をすべて$QUERY{'total'}に書き換えることで解決しました。
これで問題なければよいのですが…。
170:150
06/12/03 14:24:33 MG/kBdop
【. CGI名 .】 I-BOARD/2001 v2.4 (必須)
【配布先URL】 URLリンク(www.cj-c.com) (必須)
【. 置き場所 .】 URLリンク(www.cj-c.com) (任意)
【ヘルプ内容】 連続投稿15秒規制機能をつけたいのですが
if(現在の時間 - 最終投稿時間 < 10秒)er{エラー10秒待ってください}
if ($date - $Date{$_} < 15){&er_("<br>連続投稿は禁止です。");}
このようにしたのですが
無理のようです。
わかるかたいたらアドバイスお願いします。
171:nobodyさん
06/12/03 15:16:25
それそもそも動いてるのか?
あとエラー出てるならエラー文書けや
172:170
06/12/03 18:22:28 Ga649VF2
>>170
それはぼくにいってるんですかね?
10秒規制を付けたいんですが
いつ投稿しても「連続投稿は禁止です。」とでます。
173:nobodyさん
06/12/03 18:33:18
>>170
そんな部分的な変更点(しかも文法がおかしい)だけ見せられてもな
おまえ自身よくわかってなさそうだし、現時点でのソースどこかにupして晒せ
174:170
06/12/03 19:23:11 Ga649VF2
URLリンク(sakuratan.ddo.jp)
こんな感じです。
175:nobodyさん
06/12/03 19:54:33
最近のガキは計算の順序も知らんのか?
176:170
06/12/03 20:20:18 Ga649VF2
KENTを参考にしてみたんだが
177:nobodyさん
06/12/03 21:31:55
ヘタレだな。
178:nobodyさん
06/12/09 20:08:53
【. CGI名 .】 切って出し日記 Ver2.5
【. 置き場所 .】 URLリンク(wws.cside.com)
【ヘルプ内容】
改造するのはkd_diary.cgiです。
1ページの表示と過去ログへの移行を、設定した件数ごとではなく
月ごとにしたい。
しかし・・・私の改造では、翌月の投稿をしても動作しませんでした。
※ちょうど年も変わりますしね。
やってみたのは、このCGI内の
##########################################
# ログデータ書きこみ
##########################################
の部分。
179:178
06/12/09 20:10:20
以下の部分を・・・
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
06/12/09 20:45:46
$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
06/12/09 20:46:16
#もし投稿されたのが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
06/12/09 20:49:38
あ・・・ミスったorz
>>180+>>181に変えた、ということです。
エラーなどはないのですが、
月が変わったことによる現行ページの更新ができないまま
それまでのログにそのまま追加されてる感じです。
183:nobodyさん
06/12/24 04:13:24 9TMcOB7X
【. CGI名 .】 レス付き画像掲示板 imgboard
【. 置き場所 .】 URLリンク(www.big.or.jp)
【ヘルプ内容】 掲示板への投稿が一定数以上なければ、閲覧することが
できない制限をつけたいのですが、わかりません。
(来訪者の割りに投稿者が少なく、DOMを減らしたいため)
Perlコーディング初心者質問スレ Part 53 ⇒改造スレへ誘導されました。
184:183
06/12/24 04:14:08 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
06/12/26 15:44:50 p3+/o574
自己解決、完成しました。
186:nobodyさん
06/12/28 17:03:53 6RqsItPR
【. CGI名 .】 Web Board Professional URLリンク(www.web-liberty.net)
(ただし、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
06/12/28 17:05:58 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さん
06/12/29 13:59:16
>>186
クッキーは異なるドメインは参照できない。
それに本来のアドレスを隠すといっているが、ばればれ。
とくにフレーム転送とか。
189:186
06/12/29 17:41:09
>>188
根本的にダメなんですね。ありがとうございました。
190:nobodyさん
07/01/03 10:54:46 O8K3holw
:
191:nobodyさん
07/01/05 12:33:37
【. CGI名 .】 Ans.Q Customize Version(クッキー対応版)
【配布先URL】 URLリンク(www.non-policy.com)
元々の配布先 URLリンク(www7.big.or.jp)
【ヘルプ内容】 Ans.Qの1.40をつかっていたのですが、
書き込みの時間を入れたくて、上記改造版を設置してみたのですが、
コメントがついてもその記事が一番上に移動しません。
どこをどうすればわからなくてこちらに来てしまいました。
元のサイトで配布されていたいた1.4バージョンは自動で移動していました。
よろしくお願いします。
192:nobodyさん
07/01/06 02:34:41 5JmlMvQ+
【. CGI名 .】 MSUBoard v0.15[PHP]
【配布先URL】 URLリンク(cgi-lounge.eek.jp)
【ヘルプ内容】 このスクリプト自体がauだけにしか対応していないので、3キャリア
もしくはDoCoMoだけには対応してほしいです。よろしくお願いします。
193:nobodyさん
07/01/06 03:38:24 WO53R+Nq
【. CGI名 .】 PHP JoyfulNote
【配布先URL】 URLリンク(script.s16.xrea.com)
【ヘルプ内容】 画像掲示板なのですが、名前とコメントだけでも投稿できるため、
海外からの定期的なスパム投稿で困ってます。
新規投稿には画像添付が必須になるようにお願いします。
194:nobodyさん
07/01/06 22:49:45 lBOtCkKI
【. CGI名 .】 askabbs
【配布先URL】 URLリンク(www.kent-web.com)
【. 置き場所 .】 URLリンク(www.kent-web.com)
【ヘルプ内容】
・投稿する本文に半角カタカナがあったらエラーメッセージを出したい。
・しかし「・」など、カタカナ以外はエラーにならないようにしたい。
本文を一旦EUCにして半角カタカナの有無を判定させるのはググればコードがあったので
以下のように書いてOKでした。
が、「・」が半角の場合までエラーになってしまいます。
カタカナ以外を半角カタカナと認識させないというのは、できないものでしょうか?
&jcode'convert(*message, "euc");
if ($message =~ /\x8E/) {&error("ERROR<br>半角カタカナが含まれています");}
&jcode'convert(*message, "sjis");
195:nobodyさん
07/01/06 22:55:55
>>193
海外からのスパム投稿なら、日本語を含まない投稿を遮断したら?
196:nobodyさん
07/01/08 19:16:50 RAFN8Ic4
【. CGI名 .】テキストカウンタDX
【配布先URL】URLリンク(apps.cside.com)
【. 置き場所 .】URLリンク(apps.cside.com)
【ヘルプ内容】設定画面で直前のIPアドレスのカウント拒否はできるんですが、
直前ですので、リーロードがあるとまたカウントされたりしてしまいます。
できれば24時間以内に同一IPはカウントをしないなど改造できないでしょうか。
自分では非力でできませんした。
どうかよろしくお願いします。
197:nobodyさん
07/01/09 21:22:59 kjLanKuN
>>193
ここでスパム対策版を配布してる。
URLリンク(swanbay-web.hp.infoseek.co.jp)
198:nobodyさん
07/01/10 05:55:31
【. CGI名 .】HiddenCounter Model4(隠しカウンタ/ダウンロードカウンタスクリプト)
【配布先URL】URLリンク(www.chitta.com)
【. 置き場所 .】URLリンク(up.spawn.jp)
【ヘルプ内容】
<a href="hcnt4.cgi?カウンタ名@ファイルURL">ダウンロード</a>
のように呼び出してカウントさせるダウンロードカウンタです。
ログの閲覧(hcnt4.cgi?パスワード)ページには、カウンタ名とヒット数だけが載ります。
そのログの閲覧ページで、ファイルURLをカウンタ名にリンクさせる形で表示したいのですが、方法が分かりません。
カウンタ名は「$name」、ファイルURLは「$Url」、ヒット数は「$value」になっているみたいなので、単純に
<a href="$Url">$name</a>
としたのですが、設置ディレクトリがリンクされるだけで、ファイルURLをリンクさせる事ができませんでした。
どうすればファイルURLをリンクさせる事ができるのか、アドバイスを頂けないでしょうか。宜しくお願い致します。
※テスト環境ではパスワード($Password)は「1234」としています。
199:nobodyさん
07/01/10 06:40:46 ALgB1HLh
保守
200:196
07/01/12 15:49:54 Sg/zwaZY
保守
201:nobodyさん
07/01/15 00:23:08 ho2dYuVd
【. CGI名 .】Online Server Status v 1.4 English Version
【配布先URL】URLリンク(www.schwebdesigns.com)
【. 置き場所 .】URLリンク(cowboy.jf.land.to)
【ヘルプ内容】
サーバーの状態確認PHPなのですが、現在サイトのトップページに使用しています。
このスクリプトを最終訪問者から10分後に来た訪問者が実行するようにしたいのです。
最終訪問者の時間記録>次の訪問者>時間確認>10分以内ならサーバーに問い合わせず、画像そのまま。
という形に出来ませんでしょうか?
いざ改造しようにも手も足も出ず書き込んだ次第です。宜しくお願いいたします。
202:nobodyさん
07/01/15 15:33:53
マルチはクタバレ。
203:201
07/01/15 18:14:43
重複申し訳有りません。
丸投げスレに依頼しましたのでそちらの方でお願い致します。
204:198
07/01/19 22:25:32
宜しくお願いします
205:nobodyさん
07/01/20 23:53:45
>>198
hcnt4.datの中身見れば分かると思うけど、
そのスクリプトはカウンタ名とダウンロード回数しか記録していない。
集計モードではファイルの置き場所が分からないのでそれを表示なんて無理。
どうしてもこのカウンタにこだわるのなら
ダウンロード回数をカウントする際にダウンロード先のURLも合わせて記録するようにすれば
一応おまいのやりたかったことも実現できるけど、
おまいの腕なら改造するよりそういう機能を持った別のCGIを探した方が早いだろう。
206:198
07/01/21 02:04:43
>>205
レスありがとうございます。
>ダウンロード回数をカウントする際にダウンロード先のURLも合わせて記録する
にチャレンジしていたのですが、自力では無理そうです。
私はこのCGIを気に入っていたのですが、変に改造して不具合が出ても困りますし、(今更ですが)別のものを探した方が早いと思うので、諦めて他に乗り換えます。
アドバイスありがとうございました。
207:nobodyさん
07/01/23 19:05:41
どなたかお願い致します。
【. CGI名 .】 Web Patio 3.06
【配布先URL】 URLリンク(www.kent-web.com)
【ヘルプ内容】
投稿フォームにプルダウン式の項目を追加し、その項目をスレッドタイトル横に表示させたいのですが
どのように改造すれば良いのでしょうか…
配布元のサポートの過去ログに「ラジオボタンで項目追加したい」と言う物があり、(URLリンク(www.kent-web.com))
それを参考に見よう見真似でプルダウンに置き換えてみたのですが、
初心者な上に、バージョンも違うので何をどこに追加挿入していいかわからなくなってしまいます…
どなたかお力添えお願い致します。
208:nobodyさん
07/01/23 19:40:59
当然ここで聞く前にKENTのサポート板でも聞いたよね?
そこでは何と言われたのかな?
209:207
07/01/23 22:01:06
>>207で記述した過去ログを参考にしてみろと言われましたが、
やっぱり上手く行かなかったのでこちらに質問に来ました…
210:nobodyさん
07/01/23 22:15:16
KENTのサポート板でちゃんと「言われた通りに過去ログを参考にしてみたけど
やっぱり分かりませんでした」と言ったんだよね?
211:207
07/01/23 22:24:47
そこまではしませんでした…!
また新にスレッドを作成して聞いてみたいと思います><
厳しいご対応ありがとうございました。
ご迷惑お掛けしてしまい申し訳ございませんでした。
212:nobodyさん
07/01/23 23:14:12
新しいスレッドじゃなく今のスレッドに続けてレスで書いた方がいいんじゃないかと思うんだが・・・
質問の内容は続いてるのに、いちいちスレッド立てられたら禿しくウザイよ。
KENTのサポート板覗いたことないからどういう構造になってんのか知らんけどさ。
213:nobodyさん
07/01/26 08:18:44 FhPFkwLT
【. CGI名 .】 SS(C-BOARD)
【配布先URL】 URLリンク(www.skullysoft.com)
【ヘルプ内容】 携帯の固体識別番号を取得し、その取得の際通知を拒否した者をはじきたいのですがどうしたら良いでしょうか?ご伝授ください。
214:nobodyさん
07/01/26 10:47:43
自己解決しました。アクセル解析してif文で振り分けますね。
215:nobodyさん
07/01/26 14:08:16
ヴゥォオオン!!ヴゥォオォオオン!!!
216:196
07/01/27 09:14:27 0yEfcEBm
誰かお願いします;;
217:nobodyさん
07/01/27 15:15:20
自分でやる気がないものをここで聞くな。
218:196
07/02/02 12:58:55 tLR7xhcU
自分でできました!
やる気だせばタグを追加すればいいだけで簡単でした。
死ね糞ども。
219:nobodyさん
07/02/03 11:40:42
kent webにあるWEB PATIOの掲示板でスレッドの返信数を多くしたいので
すが(1000くらい)。
普通に返信数の設定を1000に変えるだけで問題はありませんか?
それともSQLとかデータベースを使ったほうがいいですか?
220:nobodyさん
07/02/03 11:46:44
知らんがな。サーバ運営に聞けよ。
まあマジレスするとたかだか1000件程度ならデータベースはいらんと思うけどな。
221:nobodyさん
07/02/12 19:46:19
アイコンを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さん
07/02/12 20:52:26
>>221
同じnameで複数の値を送信する用に改造したい場合、
・値を受け取るところで、値を変数に入れている部分を複数の値を配列に入れる改造が必要である。
・アイコンを表示する部分では配列に入った分だけ表示されるように改造する必要がある。
223:221
07/02/13 02:12:51
>>222
アドバイスありがとうございます。
教えていただいた事を参考に改めて挑戦してみます。
224:nobodyさん
07/02/21 14:01:46
【. CGI名 .】 アイコンTeaChatV2
【配布先URL】 URLリンク(blog.tirno.net)
【.動作サンプル .】 URLリンク(www.tirno.net)
【ヘルプ内容】
TEACHATにpup.cgiを追加したユーザーアップロード形式のアイコンチャットなのですが、
このアイコンが基本的に登録した順にセレクトボックス内に並ぶので、一人で複数とか登録すると
だんだんと探したり入室中に変えたりが遣りづらくなってしまいます。
また、登録時にパスを設けた専用アイコンは、また別に並ぶので、
「登録アイコン」「専用アイコン」それぞれを名前昇順で自動的にソートするようにしたいです。
225:nobodyさん
07/02/21 14:05:25
長くなってしまったので続きます。
関係部分はこんな感じです。(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さん
07/03/02 01:24:23
URLリンク(www.42ch.net)
このスクリプトで、ログファイルへのデータ追加時に
現在の年日時を取得して
2007/2/18 20:09
のような形式で行の末端に自動的に書き込むようにしたいのですが、
どの部分にどのような処理を加えれば良いでしょうか?
227:nobodyさん
07/03/04 21:22:44
とりあえず自分でどう書いてどう動かないのか言ってみ?
228:nobodyさん
07/03/10 17:08:20
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さん
07/03/10 18:29:56
シングルクォート内では変数は展開されない
230:228
07/03/10 22:32:41
>>229
そうでした。忘れてました。ご指摘ありがとうざいます。
ダブルクォートで試してみましたがダメでした。
open(DATA , "|$mailer -t $mlto");も検索して見つけた次行
open(DATA , "|$mailer -t '$mlto'");もダメでした。
open(DATA , "|$mailer -t");print・・・; print DATA "To :$mlto";もダメでした。
一応一通り試してみたのですが自分では解決できそうにありません。
なにかアドバイスがあればよろしくお願いいたします。
231:nobodyさん
07/03/10 23:18:11
>>228で>>229と言われて>>230に走るようでは
それ以上火傷しない内にもう止めろと言いたくなる。
232:228
07/03/11 00:10:26
>>231
言われる前に一通り試したのですがダメだったので相談しにきたのですが
止めろと言われるなら素直に借りてるサーバの管理者に相談します。
ありがとうございました。
233:nobodyさん
07/03/12 19:01:30 D70wnXmo
【. CGI名 .】 2chブラウザ対応掲示板 (PATH_INFO対応) - Perl版 -
【配布先URL】 URLリンク(perl.toshinari.net)
【ヘルプ内容】 PC版の場合、アドレスがURLリンク(homepage)(URLリンク(homepage))となるんですが
携帯のアドレスはURLリンク(homepage)でしかアクセスできません
URLリンク(homepage)でアクセスできる様にしたいのでお願いします
234:nobodyさん
07/03/12 21:45:30
【. CGI名 .】KENT SUN BOARD(HTMLボード) Ver: 3.9
【配布先URL】URLリンク(www.kent-web.com)
【ヘルプ内容】携帯には対応してはいませんが、文字サイズを小さくしたりして
一応携帯からも表示できるようにしました。
そこで、携帯から書き込みをした時に機種名を表示させたいのですが、
とりあえず時間取得の変数に混ぜて表示させてました。
日時のあとに DoCoMo/2.0 N903i(c100;TB;W24H12) このように表示されるのですが、
このN903iの部分だけ表示させるにはどうしたらよいでしょうか?
改造した部分も書いたほうがいいでしょうか?
235:nobodyさん
07/03/13 09:00:16
>>234
そこまでできたならperl板行った方が…
正規表現で
^DoCoMo.* (.*)\(.+$
で\\1をとればいいんじゃないかな。
236:nobodyさん
07/03/13 13:23:35
【. CGI名 .】 nicky.cgi
【配布先URL】 URLリンク(www.din.or.jp)
【ヘルプ内容】
同日に記事を二つ以上作成すると、デフォルトでは後に作成したほうが上に来ます。
それを後に作成したほうを前に作成した記事の下に来るようにしたいです。
よろしくお願いします。
237:nobodyさん
07/03/13 17:28:48
>>235
ありがとうございます。
web製作板から誘導されてきたもので。
箇所を書きます。できればここにその形で修正を施してくれればありがたいです。
238:nobodyさん
07/03/13 17:29:36
#-------------------------------------------------
# 時間取得
#-------------------------------------------------
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さん
07/03/13 17:31:08
こんなかんじで後は$dateをログ生成の適当なところに書き加えてました。
正直今までプログラミングやったことがないので、何度もコピペしたりテストしたりして
と、まるっきり初心者です。
何度も携帯機種表示は試したのですがまるっきり。
もしあれならばperl板に誘導していただければ。
240:nobodyさん
07/03/14 09:16:53
>>239
if ($ua =~ /^L-mode/) {
$ua = 'L-mode';
} elsif ($ua =~ /^Mozilla/){
$ua = 'PC';
} elsif ($ua =~ /^DoCoMo.* (.*)\(.+$/) {
$ua = $1;
}
241:nobodyさん
07/03/14 20:29:06
>>240
ありがとうございます。
できました。
242:236
07/03/16 04:59:07
すみません、自己解決しました。
243:nobodyさん
07/03/21 15:25:47
jewel掲示板
URLリンク(www.groo-web.com)
この掲示板に禁止ワード設定を組み込みたいんですが、
jewel(改)
URLリンク(xxxw007.s12.xrea.com)
を見て、CGI本体の中に入れてもどうしてもエラーになってします。
あちこちの掲示板CGIを落として見て、jewelCGI本体の中に入れてもエラー。
どうカスタマイズしたら禁止ワード設定を組み込めるでしょうか?
初心者ですが、jeweはなんとか設置できました。.htaccecsもできた。
あーとーはー禁止ワードだーけー・・・orz
なんとか、教えて下さい。お願いします。
244:243
07/03/21 16:25:13 TD8dcTEz
# 禁止ワード(いくつでも追加可能)
#例 ('死ね','淫乱','援助交際','docomo')
#新規登録時の名前 タイトル メッセージ ホストに適用。
@input_deny = ('死ね','','');
##--禁止ワードチェック--##
foreach (@input_deny) {
if ($in{'name'} =~ /$_/i) { &error("名前に禁止ワードが含まれています。"); }
if ($in{'title'} =~ /$_/i) { &error("タイトルに禁止ワードが含まれています。"); }
if ($in{'comment'} =~ /$_/i) { &error("メッセージに禁止ワードが含まれています。"); }
}
これを追加するとエラーになってしまうのです。
何か足りないのでしょうか?
245:243
07/03/21 16:30:54 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さん
07/03/21 17:32:36
>243
マルチポストしてんじゃねーよ
市ねよクズ
スレリンク(hp板:455番)
スレリンク(php板:403番)
247:243
07/03/21 17:38:39 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
07/03/21 18:30:09 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さん
07/03/21 18:57:27
>>243
>>5嫁
250:243
07/03/21 19:30:00 TD8dcTEz
エラーは毎回Internal Server Errorと出ます。
鯖のログには何も。。掲示板のエラーログはありません。
やはり無理なのかな・・・orz
ランキング2つ、掲示板1つをムーバブル・タイプの中に設置、
ベーシック認証も設置できたのに、このカスタマイズで初挫折。
やはりカスタマイズは難しいですね。
ちなみに、CGIも巡り会って1週間の初心者です。
251:nobodyさん
07/03/21 20:24:05
ローカルにサーバも立てられない餓鬼にCGIなんてまだ早い。
>>243には絶対無理なので受精卵からやり直すように。
252:nobodyさん
07/03/22 17:29:14 ZUn5Ffec
なんだよ。結局誰も答えられないのかよ。
糞スレ終了だなwww
253:nobodyさん
07/03/22 21:27:27
マルチポストしてなけりゃ、ヒントくらいは教えてやってもいいかと思ったんだけどねえ
3回も同じものを読まされたらそんな気は失せる
254:nobodyさん
07/03/22 21:50:49 ZUn5Ffec
オマエもただのカスだなwwwwww
255:nobodyさん
07/03/22 22:03:46 8uBdXhS9
何で教えてもらう側の態度ってのが出来ないのかねぇ
わけのわからん売り言葉見てると折角のモノも書く気も起きん
256:nobodyさん
07/03/26 04:28:29
【 CGI名 】 Anthologys
【 配布先URL 】 URLリンク(www2s.biglobe.ne.jp)
【 利用規約(改造OK確認)】URLリンク(www2s.biglobe.ne.jp)
【 依頼内容 】 投稿するときの名前のクッキー保存をKENTさんとこと同じようにしてほしい。
名前を保存すると、文字化けするからです。
よろしくお願いします。
257:nobodyさん
07/03/27 10:58:52
ソースコピペなり何なりで同じようにすればいいわけだが
どこでつかえてるんだ?
258:256
07/03/27 11:43:48
Linuxの自宅サーバー(apache)とレンタルサーバーならば問題なく使用できるのですが、
Windowsの自宅サーバー(apache)だとどうしても、投稿の際の名前の欄が、
二度目から文字化けをしてしまいます。
Windowsの設定だとはじめは思いましたが、KENTさんの掲示板の場合
Windowsでも問題なく使用できているため、以前、セキュリティーなどの問題を指摘されましたが
結局Linuxを使用することになっていたので放置してました。
しかし、今回どうしてもWindowsで使用したいために質問させていただきました。
もし、よろしかったら、何行目をどのように訂正すれば良いのかご教授願えたら幸いです。
259:nobodyさん
07/03/27 11:48:18
それは本当にCGI側の問題なのか…?
260:256
07/03/27 12:14:21
100%とは言えないです。
ただ、すばらしいCGIなのでどうにかWindowsで
使用したいです。
一応↓が結果です。
『Anthologys』
○ 自宅サーバーLinuxアパッチ
○ レンタルサーバー
× 自宅サーバーWindowsアパッチ
『KENTさんのCGI』
○ 自宅サーバーLinuxアパッチ
○ レンタルサーバー
○ 自宅サーバーWindowsアパッチ
それから、なぜCGI側に問題があるかというと、
以前質問して指摘されたことがありました。
他に、CGIのことはあまりくわしくありませんが、
他のCGIが、Windowsで使用できる場合、
設定でどうにかなるのではないかと思ったからです。
261:nobodyさん
07/03/27 15:04:23
>>256
Windows+Apache2ならそうなるので、
・クッキーをエンコード・デコードする。
・Apache1系を使う。
のどちらか。
262:nobodyさん
07/03/27 15:38:55 tZOgiuH5
CGI上で、
男性の画像をotoko.gif、女性の画像をonna.jifとした場合、
それぞれのページにあった画面を表示させる方法を教えてもらますか?
実際の処理のところに<img src="otoko.gif">を挿入すると、
女性の方にも表示されてしまいます。
263:256
07/03/27 15:46:53
【 CGI名 】 Anthologys
【 配布先URL 】 URLリンク(www2s.biglobe.ne.jp)
【 利用規約(改造OK確認)】URLリンク(www2s.biglobe.ne.jp)
【 依頼内容 】 ↑の掲示板(Anthology)に投稿するときの
名前のクッキー保存をKENTさんとこと同じようにしてほしい。
理由は自宅サーバーWindowsのApache2での掲示板に名前を保存すると、
文字化けするからです。尚、自宅サーバーLinux、レンタルサーバー、
自宅サーバーWindowsでのApache1系ならば正常にクッキー保存されます。
(Windows1系は確認しておりませんが、>>261 さんを参考にさせていただきました。)
>>261 さんの言われたように、
記事を投稿するさいの名前のクッキーをエンコード・デコード出来るように、
CGIスクリプトの
何行目をどのように変更したらよいかよろしくお願いします。
264:nobodyさん
07/03/27 16:04:39
お前は丸投げ行け
265:262
07/03/27 16:34:12 tZOgiuH5
これを応用できませんか?
男性は0、女性は1となっています。
if ($in{'sex'} eq "0" && $color eq "defwruto") { $color = "$boy_color"; }
elsif ($in{'sex'} eq "0" && $color eq "") { $color = "$boy_color"; }
if ($in{'sex'} eq "1" && $color eq "defwruto") { $color = "$girl_color"; }
elsif ($in{'sex'} eq "1" && $color eq "") { $color = "$girl_color"; }
上の書き込みの画像を表示させる位置に・・・うーん、、お願いしまつ
266:nobodyさん
07/03/27 16:44:46
>>262
if ($in{'sex'} eq "0") {
$src = 'otoko.gif';
} elsif ($in{'sex'} eq "1") {
$src = 'onna.gif';
} else {
$src = 'okama.gif';
}
267:262
07/03/27 16:59:22 tZOgiuH5
独自でできたよ。
###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
## SUB >>> ユーザー出力処理
###+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
sub member_view {
if ($in{'sex'} eq "0") { $word_color = "$boy_color"; }
elsif ($in{'sex'} eq "1") { $word_color = "$girl_color"; }
↑この部分を見て男女のページの色を区別してるんだから、
これに画像を当てはめれば良いんだと分かった。
下の方に→$word_colorがあったから。
んで、こうやって
if ($in{'sex'} eq "0") { $image = "image/otoko.gif"; }
elsif ($in{'sex'} eq "1") { $image = "image/onna.gif"; }
実際に画像を表示させる場所に、
<img src="$image" align="left">を入れたらできた!
俺って天才だ!
268:262
07/03/27 17:01:00
あ、
>>266さん教えてくれたんですね。
わざわざ有難う。でもできたよ。^^)/
269:nobodyさん
07/03/27 17:14:48
【 CGI名 】 Anthologys
【 配布先URL 】 URLリンク(www2s.biglobe.ne.jp)
【 利用規約(改造OK確認)】URLリンク(www2s.biglobe.ne.jp)
【 依頼内容 】 ↑の掲示板(Anthology)に投稿するときの
名前のクッキー保存をKENTさんとこと同じようにしてほしい。
理由は自宅サーバーWindowsのApache2での掲示板に名前を保存すると、
文字化けするからです。尚、自宅サーバーLinux、レンタルサーバー、
自宅サーバーWindowsでのApache1系ならば正常にクッキー保存されます。
(Windows1系は確認しておりませんが、>>261 さんを参考にさせていただきました。)
>>261 さんの言われたように、
記事を投稿するさいの名前のクッキーをエンコード・デコード出来るように、
CGIスクリプトの
何行目をどのように変更したらよいかよろしくお願いします。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
4812日前に更新/190 KB
担当:undef