[表示 : 全て 最新50 1-99 101- 201- 301- 401- 501- 2chのread.cgiへ]
Update time : 11/21 22:24 / Filesize : 190 KB / Number-of Response : 541
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

★三 【 スクリプト改造工房 PART 9 】 ★三



1 名前:nobodyさん [2006/03/32(土) 04:52:20 ID:WJnup8Dd]
#================================
# スレッドの説明
#================================

「スクリプトを改造したいけどやりかたわかんないよー」という人がいましたら
ここで聞いてください。ひょっとしたらアドバイス出来るかもしれません。

質問するときは以下の点に注意して書いて下さい

(1) そのスクリプトの内容と置いてある場所を明記する (txtファイルでUPすればなお良い)
(2) どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し)
(3) 出来るだけ詳しく書くこと。少しは自分で考えること。できれば御礼も言ったほうが良い

※答えてくれないからといって逆ギレする厨はお断り

170 名前:150 [2006/12/03(日) 14:24:33 ID:MG/kBdop]
【.  CGI名  .】 I-BOARD/2001 v2.4        (必須)
【配布先URL】 www.cj-c.com/       (必須)
【. 置き場所 .】 www.cj-c.com/cgi_s/ibbs2001.htm  (任意)
【ヘルプ内容】 連続投稿15秒規制機能をつけたいのですが
if(現在の時間 - 最終投稿時間 < 10秒)er{エラー10秒待ってください}
if ($date - $Date{$_} < 15){&er_("<br>連続投稿は禁止です。");}
このようにしたのですが
無理のようです。
わかるかたいたらアドバイスお願いします。

171 名前:nobodyさん mailto:sage [2006/12/03(日) 15:16:25 ID:???]
それそもそも動いてるのか?
あとエラー出てるならエラー文書けや

172 名前:170 [2006/12/03(日) 18:22:28 ID:Ga649VF2]
>>170
それはぼくにいってるんですかね?
10秒規制を付けたいんですが
いつ投稿しても「連続投稿は禁止です。」とでます。

173 名前:nobodyさん mailto:sage [2006/12/03(日) 18:33:18 ID:???]
>>170
そんな部分的な変更点(しかも文法がおかしい)だけ見せられてもな
おまえ自身よくわかってなさそうだし、現時点でのソースどこかにupして晒せ

174 名前:170 [2006/12/03(日) 19:23:11 ID:Ga649VF2]
sakuratan.ddo.jp/uploader/source/date27912.txt
こんな感じです。

175 名前:nobodyさん mailto:sage [2006/12/03(日) 19:54:33 ID:???]
最近のガキは計算の順序も知らんのか?

176 名前:170 [2006/12/03(日) 20:20:18 ID:Ga649VF2]
KENTを参考にしてみたんだが

177 名前:nobodyさん mailto:sage [2006/12/03(日) 21:31:55 ID:???]
ヘタレだな。

178 名前:nobodyさん mailto:sage [2006/12/09(土) 20:08:53 ID:???]
【.  CGI名  .】 切って出し日記 Ver2.5
【. 置き場所 .】 wws.cside.com/cgi-plant/
【ヘルプ内容】 
改造するのはkd_diary.cgiです。
1ページの表示と過去ログへの移行を、設定した件数ごとではなく
月ごとにしたい。
しかし・・・私の改造では、翌月の投稿をしても動作しませんでした。
※ちょうど年も変わりますしね。

やってみたのは、このCGI内の
##########################################
# ログデータ書きこみ
##########################################
の部分。




179 名前:178 mailto:sage [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 mailto:sage [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 mailto:sage [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 mailto:sage [2006/12/09(土) 20:49:38 ID:???]
あ・・・ミスったorz
>>180>>181に変えた、ということです。

エラーなどはないのですが、
月が変わったことによる現行ページの更新ができないまま
それまでのログにそのまま追加されてる感じです。

183 名前:nobodyさん [2006/12/24(日) 04:13:24 ID:9TMcOB7X]
【.  CGI名  .】 レス付き画像掲示板 imgboard
【. 置き場所 .】 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 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さん mailto:sage [2006/12/29(金) 13:59:16 ID:???]
>>186
クッキーは異なるドメインは参照できない。
それに本来のアドレスを隠すといっているが、ばればれ。
とくにフレーム転送とか。



189 名前:186 mailto:sage [2006/12/29(金) 17:41:09 ID:???]
>>188
根本的にダメなんですね。ありがとうございました。

190 名前:nobodyさん [2007/01/03(水) 10:54:46 ID:O8K3holw]
:

191 名前:nobodyさん mailto:sage [2007/01/05(金) 12:33:37 ID:???]
【.  CGI名  .】 Ans.Q Customize Version(クッキー対応版)  
【配布先URL】 www.non-policy.com/customize-box/ansq/#question
元々の配布先 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】 cgi-lounge.eek.jp/msuboard.php
【ヘルプ内容】 このスクリプト自体がauだけにしか対応していないので、3キャリア
もしくはDoCoMoだけには対応してほしいです。よろしくお願いします。

193 名前:nobodyさん [2007/01/06(土) 03:38:24 ID:WO53R+Nq]
【.  CGI名  .】 PHP JoyfulNote
【配布先URL】 script.s16.xrea.com/index2.php
【ヘルプ内容】 画像掲示板なのですが、名前とコメントだけでも投稿できるため、
海外からの定期的なスパム投稿で困ってます。
新規投稿には画像添付が必須になるようにお願いします。


194 名前:nobodyさん [2007/01/06(土) 22:49:45 ID:lBOtCkKI]
【.  CGI名  .】 askabbs
【配布先URL】 www.kent-web.com/
【. 置き場所 .】 www.kent-web.com/
【ヘルプ内容】 
・投稿する本文に半角カタカナがあったらエラーメッセージを出したい。
・しかし「・」など、カタカナ以外はエラーにならないようにしたい。

本文を一旦EUCにして半角カタカナの有無を判定させるのはググればコードがあったので
以下のように書いてOKでした。
が、「・」が半角の場合までエラーになってしまいます。
カタカナ以外を半角カタカナと認識させないというのは、できないものでしょうか?

&jcode'convert(*message, "euc");
if ($message =~ /\x8E/) {&error("ERROR<br>半角カタカナが含まれています");}
&jcode'convert(*message, "sjis");



195 名前:nobodyさん mailto:sage [2007/01/06(土) 22:55:55 ID:???]
>>193
海外からのスパム投稿なら、日本語を含まない投稿を遮断したら?

196 名前:nobodyさん [2007/01/08(月) 19:16:50 ID:RAFN8Ic4]
【.  CGI名  .】テキストカウンタDX
【配布先URL】apps.cside.com/cgi/counter/txtcntdx/
【. 置き場所 .】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さん mailto:sage [2007/01/10(水) 05:55:31 ID:???]
【.  CGI名  .】HiddenCounter Model4(隠しカウンタ/ダウンロードカウンタスクリプト)
【配布先URL】www.chitta.com/nobu/download/
【. 置き場所 .】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】www.schwebdesigns.com/serverstatus/
【. 置き場所 .】cowboy.jf.land.to/test.html
【ヘルプ内容】
サーバーの状態確認PHPなのですが、現在サイトのトップページに使用しています。
このスクリプトを最終訪問者から10分後に来た訪問者が実行するようにしたいのです。
最終訪問者の時間記録>次の訪問者>時間確認>10分以内ならサーバーに問い合わせず、画像そのまま。
という形に出来ませんでしょうか?

いざ改造しようにも手も足も出ず書き込んだ次第です。宜しくお願いいたします。

202 名前:nobodyさん mailto:sage [2007/01/15(月) 15:33:53 ID:???]
マルチはクタバレ。

203 名前:201 mailto:sage [2007/01/15(月) 18:14:43 ID:???]
重複申し訳有りません。
丸投げスレに依頼しましたのでそちらの方でお願い致します。

204 名前:198 mailto:sage [2007/01/19(金) 22:25:32 ID:???]
宜しくお願いします

205 名前:nobodyさん mailto:sage [2007/01/20(土) 23:53:45 ID:???]
>>198
hcnt4.datの中身見れば分かると思うけど、
そのスクリプトはカウンタ名とダウンロード回数しか記録していない。
集計モードではファイルの置き場所が分からないのでそれを表示なんて無理。

どうしてもこのカウンタにこだわるのなら
ダウンロード回数をカウントする際にダウンロード先のURLも合わせて記録するようにすれば
一応おまいのやりたかったことも実現できるけど、
おまいの腕なら改造するよりそういう機能を持った別のCGIを探した方が早いだろう。

206 名前:198 mailto:sage [2007/01/21(日) 02:04:43 ID:???]
>>205
レスありがとうございます。

>ダウンロード回数をカウントする際にダウンロード先のURLも合わせて記録する
にチャレンジしていたのですが、自力では無理そうです。
私はこのCGIを気に入っていたのですが、変に改造して不具合が出ても困りますし、(今更ですが)別のものを探した方が早いと思うので、諦めて他に乗り換えます。
アドバイスありがとうございました。

207 名前:nobodyさん mailto:sage [2007/01/23(火) 19:05:41 ID:???]
どなたかお願い致します。

【.  CGI名  .】 Web Patio 3.06
【配布先URL】 www.kent-web.com/
【ヘルプ内容】 
投稿フォームにプルダウン式の項目を追加し、その項目をスレッドタイトル横に表示させたいのですが
どのように改造すれば良いのでしょうか…

配布元のサポートの過去ログに「ラジオボタンで項目追加したい」と言う物があり、(www.kent-web.com/support/old/62/0281.html
それを参考に見よう見真似でプルダウンに置き換えてみたのですが、
初心者な上に、バージョンも違うので何をどこに追加挿入していいかわからなくなってしまいます…
どなたかお力添えお願い致します。

208 名前:nobodyさん mailto:sage [2007/01/23(火) 19:40:59 ID:???]
当然ここで聞く前にKENTのサポート板でも聞いたよね?
そこでは何と言われたのかな?



209 名前:207 mailto:sage [2007/01/23(火) 22:01:06 ID:???]
>>207で記述した過去ログを参考にしてみろと言われましたが、
やっぱり上手く行かなかったのでこちらに質問に来ました…

210 名前:nobodyさん mailto:sage [2007/01/23(火) 22:15:16 ID:???]
KENTのサポート板でちゃんと「言われた通りに過去ログを参考にしてみたけど
やっぱり分かりませんでした」と言ったんだよね?

211 名前:207 mailto:sage [2007/01/23(火) 22:24:47 ID:???]
そこまではしませんでした…!
また新にスレッドを作成して聞いてみたいと思います><
厳しいご対応ありがとうございました。
ご迷惑お掛けしてしまい申し訳ございませんでした。

212 名前:nobodyさん mailto:sage [2007/01/23(火) 23:14:12 ID:???]
新しいスレッドじゃなく今のスレッドに続けてレスで書いた方がいいんじゃないかと思うんだが・・・
質問の内容は続いてるのに、いちいちスレッド立てられたら禿しくウザイよ。
KENTのサポート板覗いたことないからどういう構造になってんのか知らんけどさ。

213 名前:nobodyさん [2007/01/26(金) 08:18:44 ID:FhPFkwLT]
【.  CGI名  .】 SS(C-BOARD)
【配布先URL】 www.skullysoft.com/ssc-board/
【ヘルプ内容】 携帯の固体識別番号を取得し、その取得の際通知を拒否した者をはじきたいのですがどうしたら良いでしょうか?ご伝授ください。




214 名前:nobodyさん mailto:sage [2007/01/26(金) 10:47:43 ID:???]
自己解決しました。アクセル解析してif文で振り分けますね。

215 名前:nobodyさん mailto:sage [2007/01/26(金) 14:08:16 ID:???]
ヴゥォオオン!!ヴゥォオォオオン!!!

216 名前:196 [2007/01/27(土) 09:14:27 ID:0yEfcEBm]
誰かお願いします;;

217 名前:nobodyさん mailto:sage [2007/01/27(土) 15:15:20 ID:???]
自分でやる気がないものをここで聞くな。

218 名前:196 [2007/02/02(金) 12:58:55 ID:tLR7xhcU]
自分でできました!
やる気だせばタグを追加すればいいだけで簡単でした。
死ね糞ども。



219 名前:nobodyさん mailto:sage [2007/02/03(土) 11:40:42 ID:???]
kent webにあるWEB PATIOの掲示板でスレッドの返信数を多くしたいので
すが(1000くらい)。

普通に返信数の設定を1000に変えるだけで問題はありませんか?
それともSQLとかデータベースを使ったほうがいいですか?

220 名前:nobodyさん mailto:sage [2007/02/03(土) 11:46:44 ID:???]
知らんがな。サーバ運営に聞けよ。

まあマジレスするとたかだか1000件程度ならデータベースはいらんと思うけどな。

221 名前:nobodyさん mailto:sage [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さん mailto:sage [2007/02/12(月) 20:52:26 ID:???]
>>221
同じnameで複数の値を送信する用に改造したい場合、
・値を受け取るところで、値を変数に入れている部分を複数の値を配列に入れる改造が必要である。
・アイコンを表示する部分では配列に入った分だけ表示されるように改造する必要がある。

223 名前:221 mailto:sage [2007/02/13(火) 02:12:51 ID:???]
>>222
アドバイスありがとうございます。
教えていただいた事を参考に改めて挑戦してみます。

224 名前:nobodyさん mailto:sage [2007/02/21(水) 14:01:46 ID:???]
【.  CGI名  .】 アイコンTeaChatV2
【配布先URL】 blog.tirno.net/e212.html
【.動作サンプル .】 www.tirno.net/chat2/chat.cgi
【ヘルプ内容】 
TEACHATにpup.cgiを追加したユーザーアップロード形式のアイコンチャットなのですが、
このアイコンが基本的に登録した順にセレクトボックス内に並ぶので、一人で複数とか登録すると
だんだんと探したり入室中に変えたりが遣りづらくなってしまいます。

また、登録時にパスを設けた専用アイコンは、また別に並ぶので、
「登録アイコン」「専用アイコン」それぞれを名前昇順で自動的にソートするようにしたいです。





225 名前:nobodyさん mailto:sage [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さん mailto:sage [2007/03/02(金) 01:24:23 ID:???]
ttp://www.42ch.net/UploaderSmall/source/1171796861.zip
このスクリプトで、ログファイルへのデータ追加時に
現在の年日時を取得して
2007/2/18 20:09
のような形式で行の末端に自動的に書き込むようにしたいのですが、
どの部分にどのような処理を加えれば良いでしょうか?


227 名前:nobodyさん mailto:sage [2007/03/04(日) 21:22:44 ID:???]
とりあえず自分でどう書いてどう動かないのか言ってみ?

228 名前:nobodyさん mailto:sage [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さん mailto:sage [2007/03/10(土) 18:29:56 ID:???]
シングルクォート内では変数は展開されない

230 名前:228 mailto:sage [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さん mailto:sage [2007/03/10(土) 23:18:11 ID:???]
>>228>>229と言われて>>230に走るようでは
それ以上火傷しない内にもう止めろと言いたくなる。


232 名前:228 mailto:sage [2007/03/11(日) 00:10:26 ID:???]
>>231
言われる前に一通り試したのですがダメだったので相談しにきたのですが
止めろと言われるなら素直に借りてるサーバの管理者に相談します。
ありがとうございました。

233 名前:nobodyさん [2007/03/12(月) 19:01:30 ID:D70wnXmo]
【.  CGI名  .】 2chブラウザ対応掲示板 (PATH_INFO対応) - Perl版 -
【配布先URL】 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さん mailto:sage [2007/03/12(月) 21:45:30 ID:???]
【.  CGI名  .】KENT SUN BOARD(HTMLボード) Ver: 3.9
【配布先URL】www.kent-web.com/bbs/sunbbs.html
【ヘルプ内容】携帯には対応してはいませんが、文字サイズを小さくしたりして
一応携帯からも表示できるようにしました。
そこで、携帯から書き込みをした時に機種名を表示させたいのですが、
とりあえず時間取得の変数に混ぜて表示させてました。
日時のあとに DoCoMo/2.0 N903i(c100;TB;W24H12) このように表示されるのですが、
このN903iの部分だけ表示させるにはどうしたらよいでしょうか?


改造した部分も書いたほうがいいでしょうか?

235 名前:nobodyさん mailto:sage [2007/03/13(火) 09:00:16 ID:???]
>>234
そこまでできたならperl板行った方が…
正規表現で

^DoCoMo.* (.*)\(.+$
で\\1をとればいいんじゃないかな。


236 名前:nobodyさん mailto:sage [2007/03/13(火) 13:23:35 ID:???]
【.  CGI名  .】 nicky.cgi
【配布先URL】 ttp://www.din.or.jp/~raelian/ReadMeNicky.html
【ヘルプ内容】 
同日に記事を二つ以上作成すると、デフォルトでは後に作成したほうが上に来ます。
それを後に作成したほうを前に作成した記事の下に来るようにしたいです。
よろしくお願いします。

237 名前:nobodyさん mailto:sage [2007/03/13(火) 17:28:48 ID:???]
>>235
ありがとうございます。
web製作板から誘導されてきたもので。
箇所を書きます。できればここにその形で修正を施してくれればありがたいです。


238 名前:nobodyさん mailto:sage [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さん mailto:sage [2007/03/13(火) 17:31:08 ID:???]
こんなかんじで後は$dateをログ生成の適当なところに書き加えてました。
正直今までプログラミングやったことがないので、何度もコピペしたりテストしたりして
と、まるっきり初心者です。
何度も携帯機種表示は試したのですがまるっきり。

もしあれならばperl板に誘導していただければ。

240 名前:nobodyさん mailto:sage [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さん mailto:sage [2007/03/14(水) 20:29:06 ID:???]
>>240
ありがとうございます。
できました。

242 名前:236 mailto:sage [2007/03/16(金) 04:59:07 ID:???]
すみません、自己解決しました。

243 名前:nobodyさん mailto:sage [2007/03/21(水) 15:25:47 ID:???]
jewel掲示板
www.groo-web.com/jewel.html
この掲示板に禁止ワード設定を組み込みたいんですが、
jewel(改)
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さん mailto:sage [2007/03/21(水) 17:32:36 ID:???]
>243
マルチポストしてんじゃねーよ
市ねよクズ
pc11.2ch.net/test/read.cgi/hp/1166794984/455
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さん mailto:sage [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さん mailto:sage [2007/03/21(水) 20:24:05 ID:???]
ローカルにサーバも立てられない餓鬼にCGIなんてまだ早い。
>>243には絶対無理なので受精卵からやり直すように。

252 名前:nobodyさん [2007/03/22(木) 17:29:14 ID:ZUn5Ffec]
なんだよ。結局誰も答えられないのかよ。
糞スレ終了だなwww

253 名前:nobodyさん mailto:sage [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さん mailto:age [2007/03/26(月) 04:28:29 ID:???]
【 CGI名 】 Anthologys
【 配布先URL 】 www2s.biglobe.ne.jp/~yasuu/cgi2.html
【 利用規約(改造OK確認)】www2s.biglobe.ne.jp/~yasuu/cgi1.html
【 依頼内容 】 投稿するときの名前のクッキー保存をKENTさんとこと同じようにしてほしい。
名前を保存すると、文字化けするからです。

よろしくお願いします。


257 名前:nobodyさん mailto:sage [2007/03/27(火) 10:58:52 ID:???]
ソースコピペなり何なりで同じようにすればいいわけだが
どこでつかえてるんだ?

258 名前:256 mailto:age [2007/03/27(火) 11:43:48 ID:???]
Linuxの自宅サーバー(apache)とレンタルサーバーならば問題なく使用できるのですが、
Windowsの自宅サーバー(apache)だとどうしても、投稿の際の名前の欄が、
二度目から文字化けをしてしまいます。
Windowsの設定だとはじめは思いましたが、KENTさんの掲示板の場合
Windowsでも問題なく使用できているため、以前、セキュリティーなどの問題を指摘されましたが
結局Linuxを使用することになっていたので放置してました。
しかし、今回どうしてもWindowsで使用したいために質問させていただきました。
もし、よろしかったら、何行目をどのように訂正すれば良いのかご教授願えたら幸いです。






259 名前:nobodyさん mailto:sage [2007/03/27(火) 11:48:18 ID:???]
それは本当にCGI側の問題なのか…?

260 名前:256 mailto:age [2007/03/27(火) 12:14:21 ID:???]
100%とは言えないです。
ただ、すばらしいCGIなのでどうにかWindowsで
使用したいです。
一応↓が結果です。

    『Anthologys』
○ 自宅サーバーLinuxアパッチ
○ レンタルサーバー
× 自宅サーバーWindowsアパッチ

   『KENTさんのCGI』
○ 自宅サーバーLinuxアパッチ
○ レンタルサーバー
○ 自宅サーバーWindowsアパッチ

それから、なぜCGI側に問題があるかというと、
以前質問して指摘されたことがありました。
他に、CGIのことはあまりくわしくありませんが、
他のCGIが、Windowsで使用できる場合、
設定でどうにかなるのではないかと思ったからです。


261 名前:nobodyさん mailto:sage [2007/03/27(火) 15:04:23 ID:???]
>>256
Windows+Apache2ならそうなるので、
 ・クッキーをエンコード・デコードする。
 ・Apache1系を使う。
のどちらか。


262 名前:nobodyさん [2007/03/27(火) 15:38:55 ID:tZOgiuH5]

CGI上で、
男性の画像をotoko.gif、女性の画像をonna.jifとした場合、
それぞれのページにあった画面を表示させる方法を教えてもらますか?

実際の処理のところに<img src="otoko.gif">を挿入すると、
女性の方にも表示されてしまいます。


263 名前:256 mailto:age [2007/03/27(火) 15:46:53 ID:???]
【 CGI名 】 Anthologys
【 配布先URL 】 www2s.biglobe.ne.jp/~yasuu/cgi2.html
【 利用規約(改造OK確認)】www2s.biglobe.ne.jp/~yasuu/cgi1.html
【 依頼内容 】 ↑の掲示板(Anthology)に投稿するときの
名前のクッキー保存をKENTさんとこと同じようにしてほしい。
理由は自宅サーバーWindowsのApache2での掲示板に名前を保存すると、
文字化けするからです。尚、自宅サーバーLinux、レンタルサーバー、
自宅サーバーWindowsでのApache1系ならば正常にクッキー保存されます。
(Windows1系は確認しておりませんが、>>261 さんを参考にさせていただきました。)


>>261 さんの言われたように、
記事を投稿するさいの名前のクッキーをエンコード・デコード出来るように、
CGIスクリプトの
何行目をどのように変更したらよいかよろしくお願いします。




264 名前:nobodyさん mailto:sage [2007/03/27(火) 16:04:39 ID:???]
お前は丸投げ行け

265 名前:262 [2007/03/27(火) 16:34:12 ID: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さん mailto:sage [2007/03/27(火) 16:44:46 ID:???]
>>262
if ($in{'sex'} eq "0") {
$src = 'otoko.gif';
} elsif ($in{'sex'} eq "1") {
$src = 'onna.gif';
} else {
$src = 'okama.gif';
}


267 名前:262 [2007/03/27(火) 16:59:22 ID: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 mailto:sage [2007/03/27(火) 17:01:00 ID:???]
あ、
>>266さん教えてくれたんですね。
わざわざ有難う。でもできたよ。^^)/



269 名前:nobodyさん mailto:age [2007/03/27(火) 17:14:48 ID:???]
【 CGI名 】 Anthologys
【 配布先URL 】 www2s.biglobe.ne.jp/~yasuu/cgi2.html
【 利用規約(改造OK確認)】www2s.biglobe.ne.jp/~yasuu/cgi1.html
【 依頼内容 】 ↑の掲示板(Anthology)に投稿するときの
名前のクッキー保存をKENTさんとこと同じようにしてほしい。
理由は自宅サーバーWindowsのApache2での掲示板に名前を保存すると、
文字化けするからです。尚、自宅サーバーLinux、レンタルサーバー、
自宅サーバーWindowsでのApache1系ならば正常にクッキー保存されます。
(Windows1系は確認しておりませんが、>>261 さんを参考にさせていただきました。)


>>261 さんの言われたように、
記事を投稿するさいの名前のクッキーをエンコード・デコード出来るように、
CGIスクリプトの
何行目をどのように変更したらよいかよろしくお願いします。




270 名前:nobodyさん mailto:sage [2007/03/27(火) 17:24:48 ID:???]
うざ






[ 続きを読む ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧]( ´∀`)<190KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef