[表示 : 全て 最新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) 出来るだけ詳しく書くこと。少しは自分で考えること。できれば御礼も言ったほうが良い

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

126 名前:nobodyさん mailto:sage [2006/10/24(火) 23:53:42 ID:???]
>>124
それは分かったからとっととエラーメッセージの詳細を出せやコラ。
まさかろくに動きもしない駄目スクリプトをローカルでチェックもせずにアップしてるのか?

127 名前:aoki [2006/10/25(水) 00:23:46 ID:SpiYIrSU]
>>125さん>>126さん
早速のお返事ありがとうございました。
メイン処理部分の部分を一部変更して転送し直したところ、エラーメッセージは出ずに著作権部分しか表示されなくなっていました。
やはりWindyの方につけた方が良いのですね。助言ありがとうございました。
自分の知識不足ですので、また出直してまいります。
レス下さった方、本当にありがとうございました。

128 名前:118 mailto:sage [2006/10/25(水) 00:26:03 ID:???]
すいませんでした。向こうで聞いてきます。

129 名前:nobodyさん mailto:sage [2006/11/03(金) 18:19:09 ID:???]
【CGI】URL Geter
【配布先】ttp://www.cp-2icro.com/dlpage/info_coll/urlget/
【内容】
このCGIが気に入っているのでアクセス解析として使いたいのですが
リンク元に「その他・ブックマークなど」の項目を追加することはできないでしょうか?

130 名前:nobodyさん mailto:sage [2006/11/03(金) 18:31:35 ID:???]
てきるできないで言うならそりゃできる。

131 名前:nobodyさん mailto:sage [2006/11/03(金) 21:29:16 ID:???]
【.  CGI名  .】 cmcboard.zip v0.23
【配布先URL】 cgi-lounge.eek.jp/

【ヘルプ内容】 
先月未明からi-パラダイス(www.i-paradise.nu/)に設置してある、
サイト内コンテンツの一つであるアップローダーの記事投稿が不可能な状態です

PostModeでの記事投稿前の認証を試みますが、
パスワードを入力し認証ボタンを押した次の瞬間空白のページに(ソースを見たところ無記述)移動してしまい、
ファイルのアップロード自体が出来ず、
PostMode以外での投稿はファイルがアップロードされる直前に先述したページが表示され、
ファイルのアップロードが無効になってしまうという状態です

Check Modeでのcgiの動作確認も試しましたが、各種パーミッション設定・各種パス等には異常は見受けられませんでした
また、この事象と併発するかのように、以前は見られなかった携帯閲覧時の502エラーも見受けられます

試しに他のレンタルサーバーのアカウントを取得し、上記cgiの設置・動作確認を試みてみたところ、
特に問題なくPostModeでのログイン・ファイルのアップロード、通常のファイルアップロードが出来ました



132 名前:131 mailto:sage [2006/11/03(金) 21:30:51 ID:???]
続きです

管理元にその旨問い合わせを行ったところ、

>おそらく記事投稿前の認証時の不都合は広告挿入が邪魔をしていると
>思われますので、その処理の部分に<!--banner-->を挿入して
>広告の位置を変更してください。
><!--banner-->はHTMLの部分に記述しなければ有効になりませんので、
>CGIの処理の流れを見て頂く必要が御座います。
>目安として該当の認証を押した後の<BODY>が記述される直後か、
>更にいくつか下に設定されると良いと思います。

とのことでした

>その処理の部分に<!--banner-->を挿入 の部分の処理の手順が分からなく、今回質問を書き込んだ次第です

お願いします

133 名前:nobodyさん mailto:sage [2006/11/04(土) 01:02:40 ID:???]
まずサポートBBSで聞くべきではないかね?

134 名前:nobodyさん mailto:age [2006/11/07(火) 16:18:05 ID:???]
【.  CGI名  .】Multiple Enquete 投票式アンケート
【配布先URL】popup.tok2.com/home/skry/labo/multiq/
【ヘルプ内容】コメント欄の書き込みへの禁止ワードを設定したい。

配布先の更新がなく、公式のサポート掲示板
popup.tok2.com/home/skry/labo/support/nabla.cgi
が死んでしまっているようなので、よろしくお願いいたします。



135 名前:nobodyさん [2006/11/07(火) 17:15:31 ID:5wPSAWJ0]
【. CGI名 .】   Web Patio
【配布先URL】   ttp://www.kent-web.com/index.html
【. 置き場所 .】 ttp://www.kent-web.com/bbs/patio.html
【ヘルプ内容】  アイコン機能を付けたい。
わがままを言えば昇進機能も付けたい。

どうか宜しくお願いします<(_ _)>



136 名前:po ◆iwvS1vwsFQ mailto:sage [2006/11/07(火) 23:34:29 ID:???]
>>134
バージョンがいくつかあるんだけどどれ?

>>135
無理

137 名前:po ◆iwvS1vwsFQ mailto:sage [2006/11/07(火) 23:36:48 ID:???]
>>134
つーかそもそも落とせなかったよ。古いし、他の探したほうがいいかも。

138 名前:nobodyさん mailto:sage [2006/11/08(水) 13:01:27 ID:???]
>>136
無理では無い気もするが
まぁとりあえず俺にはできない

139 名前:nobodyさん [2006/11/10(金) 03:57:38 ID:l5C4yy5g]
【CGI名】 LQアクセス制限ライブラリー
【配布先URL】 ttp://www2s.biglobe.ne.jp/~cru/library/lq/
【設置サーバ】 独自ドメイン
【 質問内容 】 ググったら丸投げや>>451を見つけました。
だが、書かれてるやり方ではCGIごとではなくサイト丸々全部を管理は出来るが、
自分のログを除外出来ないようです。
自分を除外するにはどこをいじればいいのでしょうか?

140 名前:nobodyさん [2006/11/10(金) 04:11:11 ID:+7tgrk2T]
age

141 名前:nobodyさん mailto:age [2006/11/13(月) 20:51:31 ID:???]
age

142 名前:nobodyさん [2006/11/14(火) 20:12:31 ID:Zhg0+JNh]
【.  CGI名  .】 切って出し日記
【配布先URL】 ttp://wws.cside.com/cgi-plant/
【. 置き場所 .】 ttp://wws.cside.com/cgi-plant/diary/
【ヘルプ内容】 
最新の2件を切って出してJSファイルにするとき、
JSファイルの中身を以下のように出力できるようにしたい。
---JS中身---
document.write('11/13 日記開始<br>');
document.write('11/14 更新<br>');
--ここまで
今は上の行と下の行が逆に出力されている。


143 名前:nobodyさん mailto:sage [2006/11/14(火) 20:16:50 ID:???]
最初は、日記のログに書き込む時に、頭に追記じゃなくて尻に追記する
ように考えてみたのだが・・・ログがぐちゃぐちゃになった。

次にJSへ出力する時に順を変えてみようとしたのだが・・・
「JSファイルに書き込みを〜回まで繰り返す」という処理になっていたので
出力する段階の配列をソートってわけに行かなかった。

144 名前:142 mailto:sage [2006/11/14(火) 20:17:46 ID:???]
>>143=>>142です。sageたらIDも消えるんだった(・・・)



145 名前:nobodyさん mailto:sage [2006/11/14(火) 20:40:37 ID:???]
>>142
置き場所つーのは『お前が』置いた場所だと何度言えばもうね。


…で、あんまちゃんと見てないけど、
外部JavaScriptへの出力ってkd_diary.cgiの800行目くらいからある部分のことかな。
だとしたら852行目の

print JS "document.write(\'$w_line\');\n";

で直接書き出す代わりに適当な配列に格納して、855行目の

close(JS);

の手前でまとめて吐き出せば良いんじゃないかな。
配列に格納する時に先頭にねじ込めば順番は逆になると思うが。

146 名前:nobodyさん mailto:sage [2006/11/14(火) 23:12:23 ID:???]
>>145
半分わかったような気がする。がんがってみる。ありがとん。

147 名前:nobodyさん mailto:sage [2006/11/14(火) 23:17:33 ID:???]
おう頑張りな。

148 名前:142 mailto:sage [2006/11/15(水) 00:31:18 ID:???]
できました。ありがとうございました(><)

149 名前:nobodyさん [2006/11/25(土) 22:53:31 ID:ocCKf8uF]
【  CGI名  】 簡易データベース
【配布先URL】  ttp://www.rescue.ne.jp/cgi/database/
【ヘルプ内容】 検索ワードのログを保存したいです(例:log.txt)
          どのようにすればよいのかアドバイスお願いします。

150 名前:nobodyさん [2006/11/26(日) 12:42:51 ID:Y4Eo2nyo]
【.  CGI名  .】 I-BOARD/2001 v2.4      (必須)
【配布先URL】 www.cj-c.com/       (必須)
【. 置き場所 .】 www.cj-c.com/cgi_s/ibbs2001.htm  (任意)
【ヘルプ内容】
・連続投稿規制をつけたいのですが
どのようにすればいいかわかりません。アドバイスお願いします。

・トピック表示のときにレスしたあとに飛ぶページが掲示板のトップページなので
レスしたあと飛ぶページをレスしたスレッドのページに飛ぶようにしたいのです。
アドバイスお願いします。

151 名前:nobodyさん mailto:sage [2006/11/26(日) 18:47:16 ID:???]
>>150
ひとつめ
投稿のたびにIPを記録して同じIPなら規制すればいい

ふたつめ
Location

152 名前:150 [2006/11/26(日) 19:19:57 ID:tkb0DDKs]
>>150ですが
説明不足でした。>>151さんすいません。
秒数で連続投稿規制をつけたいのです。
一回投稿したら、10秒は投稿できないようなものです。
よろしくお願いします。

153 名前:nobodyさん mailto:sage [2006/11/26(日) 21:17:21 ID:???]
KENTのBBSからその部分パクればええやん

154 名前:150 [2006/11/26(日) 21:53:46 ID:tkb0DDKs]
>>153
それってなにか違反になったりしませんよね?



155 名前:nobodyさん mailto:sage [2006/11/27(月) 08:02:30 ID:???]
再配布とかしない限りはな

156 名前:150 [2006/11/27(月) 16:00:15 ID:kaXmljFh]
連続投稿規制をつけるほうほうがのってるサイトがあったら教えてください

157 名前:nobodyさん mailto:sage [2006/11/27(月) 16:14:05 ID:???]
そんなピンポイントな方法は需要から考えてもそのものずばりが見つかるとは思えんし
大人しく自分で処理を考えるべきだと思うよ。死ぬほど簡単だし。
実際に動作するサンプルだってそこら中にあるでしょ。

158 名前:150 [2006/11/27(月) 16:19:00 ID:kaXmljFh]
わかりました。
どうもありがとうございます。

159 名前:nobodyさん mailto:sage [2006/11/28(火) 16:35:21 ID:???]
連投規制の処理がKENTの著作だとは知らなかったwww

160 名前:1/2 mailto:sage [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 mailto:sage [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さん mailto:sage [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さん mailto:sage [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 mailto:sage [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 mailto:sage [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さん mailto:sage [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 mailto:sage [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さん mailto:sage [2006/11/30(木) 01:48:17 ID:???]
何でifがループなんだよ。
ループはそこのwhileだっての。

169 名前:160 mailto:sage [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】 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
のような形式で行の末端に自動的に書き込むようにしたいのですが、
どの部分にどのような処理を加えれば良いでしょうか?







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

前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