トップページ⇒php
982コメント439KB

【 スクリプト改造工房 PART 7 】

■ このスレッドは過去ログ倉庫に格納されています
0001sage03/09/17 15:28ID:ZcvVdw5C
 
#================================
# スレッドの説明
#================================

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

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

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

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

過去ログ>>2
0412nobodyさん03/11/02 23:25ID:???
>411
$nam =~ s/◆/◇/g; って名前を勝手に変えて良いのか。

それはともかく、ログに出力する直前に入れれば良いんじゃない。
0413nobodyさん03/11/03 00:06ID:???
>>411
なんかすごいトリップ回路だな(w

>>412
騙りトリップ防止機能です。
0414nobodyさん03/11/03 00:53ID:???
いや騙り防止なのは解るけど、名前変えるよりは
ログのフォーマットにトリップを追加するとかした方が良いんじゃないかななんて。

入力された<>とかはエスケープしてるっぽいから
$nam .= " ◆<span class="trip">$trip</span>";
とかでも良いけど。
0415nobodyさん03/11/03 00:55ID:???
わかると思うが"のエスケープ忘れてた。
0416nobodyさん03/11/03 03:22ID:???
確かにひでぇトリップルーチンだ
0417nobodyさん03/11/03 03:32ID:???
>>416
とりあえず自分なりに書いて来たんだから丸投げくんとは段違い。
もし「ひでぇ」と思うんならリライトしてやれば?
0418nobodyさん03/11/03 04:40ID:???
http://www.google.com/search?num=50&hl=ja&inlang=ja&ie=Shift_JIS&c2coff=1&q=Perl+trip+%90%B6%90%AC&lr=lang_ja
0419nobodyさん03/11/03 04:56ID:???
ま、トリップ回路のでき云々は棚上げにして、漏れはどこに書くべきかを言っておく。

>>412も言うようにログに出力する直前に入れるのが吉かと。。。
具体的に言うと、($no,$dat,$nam,$eml,$sub,$com,$url) = split(/<>/);の後だわな。
しかし、「記事表示」、「ワード検索」、「管理モード」と、ログに出力しているところが3ヵ所あるので、全てに入れる必要があるんじゃなかろうか。
サブルーチンにする手もある。

書込みの所にトリップ回路を入れるとどうだろう。
書込みの所で変換の場合、回路は1ヵ所だけで良い。
書込みの所では$in{'name'}が変換対象だから、トリップ回路も書き換えを要す。
具体的な場所は重複投稿チェックの前までに済ませれば桶かな。
ただし、トリップ変換後の名前をクッキーに入れると不都合が生じるであろうから、クッキーに記憶する部分をトリップ回路の前に移動しておく必要があろう。

スクリプトを見ただけだから、実際違っていたらスマン。
0420nobodyさん03/11/03 06:47ID:???
ふと思ったんだが、幾らトリップを付けるといっても別に入力まで2ch式にしなくても良いんでは。
名前に#が入ってるとかで#が二回以上出てくる場合に困らないかそれ。

トリップ入力欄を別に設けるか、トリップを使用するかしないかのチェックボックス又は
ラジオボタンを用意しといた方が良さげ。
0421nobodyさん03/11/03 09:06ID:???
記事削除はID(ユーザー削除なら+pass)のみで行なってるので書き込み部だけでいい鴨。
つーか、ホスト取得してるのになりすましを過剰に気にする必要あるの?
0422夏03/11/04 05:54ID:???
はじめまして。こちらのサイトの日記CGI↓
【nicky!】
ttp://www.din.or.jp/~raelian/ReadMeNicky.html
を改造したいと思っておりまして、自分なりにやってはみたのですがうまくいかずに
皆様にお願いしに来ました。

まずスクリプトの内容なのですが
http://www.geocities.co.jp/HeartLand-Asagao/7077/nicky.txt
が日記本体でしてこれを【1】とします
http://www.geocities.co.jp/HeartLand-Asagao/7077/list.txt
が色んな表示が可能になるスクリプトです。これを【2】とします。

この日記は本体と表示のされ方が様々ございまして、
●カレンダー表示
●タイトルリスト表示
●フレーム表示
●画像一覧
●携帯用表示
●携帯用タイトルリスト表示
このような感じです。
今回は●タイトルリスト表示●と●携帯用のタイトルリスト表示●
の改造のご指南をお願いしたいのです。

つづきます
0423夏03/11/04 05:54ID:???
つづきです。
現在使用されてるタイトルリストの【一例】
ttp://painter.homeip.net/~rinda/cgi-bin/nicky2/list.cgi?TitleList
現在使用されてるタイトルリスト(携帯用)の【一例】
ttp://painter.homeip.net/~rinda/cgi-bin/nicky2/list.cgi?TLi

私の希望する改造後のイメージ(携帯用も同じようなイメージです)↓
http://www.geocities.co.jp/HeartLand-Asagao/7077/test.html
【一例】と改造後の違い↓
●時間が表示されてるということ。
●横幅が狭くなっていること。(テーブルの変形)
●タイトル文字表示制限を8文字くらいにして欲しいこと。
テーブルを狭くするまではできましたが表示位置が変わったり
時刻をどうやって取得したら良いかもわからなかったです。
またタイトルは、本当は長いタイトルでも表示を8文字にするやりかた
がわかりませんでした。

携帯用タイトルリストのtopページにも時間表示をしたいのです。

わかり辛い文章で申し訳御座いません。
CGIに詳しい方、またnicky!ユーザーで詳しい方がいらっしゃったら
アドバイスをお願い致します。
0424夏03/11/04 05:59ID:???
>>422
と
>>423
の記載内容で意味不明な箇所があれば
お知らせください。
私は肩身の狭い初心者ですので
用語とかうまく説明できません。(本当に申し訳御座いませんn(_ _)n)
何とかお伝えしやすいように頑張ります。
0425nobodyさん03/11/04 08:08ID:K9twgqXS
apeboardについて教えてください。
apeboardで半角カナを使うと
全角カナに変換されますよね。
アレを半角カナのまま表示するには、
どの辺りをいじればいいでしょうか。
ガ━━━━━━Σ(´Д`|||)━━━━━━ン!!!
って入れても
ガ━━━━━━Σ(´Д`|||)━━━━━━ン!!!
になってしまいまつ( ´・ω・`)
0426nobodyさん03/11/04 08:46ID:???
>425
&jcode'h2z
の含まれる行を探して削除。あるいは行の頭に#をくっつけておく。
あと、どう頑張っても文字化けの可能性は残る。
042742503/11/04 08:59ID:K9twgqXS
>>426
即レスありがとうございます。
&jcode'h2z削除してみたんですが、
できませんでした( ´・ω・`)
今必死でググッってまつ・・・。
042842503/11/04 09:15ID:K9twgqXS
425です。
&jcode'h2z削除で出来ました。
さっきできなかったのはナンデダロ・・・
ありがとうございました。
0429nobodyさん03/11/04 10:53ID:???
>>424
まず、タイトルをいじるのは関数 PutTitleList 内
daylist の配列に追加すればいいだろう
で、日付を取得しているのが GetDateFromFname なのだが、
ファイル名に日付をもちいていて時刻が入っていないので
現状では不可能。$NickyFnameに時刻も含めるようにするのがいいか?

仕事中なのでまた夜にでも・・・
0430夏03/11/04 13:48ID:???
>>429さん
お仕事中に有り難う御座います。
時刻を追加することは
不可能なのですか……。。。。
そこを一番何とかしたかったのです〜(´Д⊂グスン
$NickyFnameの件ですが$NickyFnameの意味がわからないです。
(スクリプト読んでみたのですがこんなことさえわからないのです
すいません。)



0431nobodyさん03/11/04 18:00ID:???
時刻対応には、ファイルの中を読むか、
ファイル名に設定すればいいと思う。
0432夏03/11/04 19:38ID:???
>>431さん
ファイルの中を読むとはどういうことでしょうか?
0433nobodyさん03/11/04 20:15ID:???
一日一回更新でログが1日1ファイルなら、ファイルの更新時刻取得でいけないか?
まだスクリプトは読んでないんだが。
0434夏03/11/04 20:35ID:???
>>433さん
えーーと、1日に更新を何回もするので
同じ日にちに複数の記事が作成できて表示もさせたいのです。
>>423にも掲載しましたがこれが私の希望するイメージでして↓
http://www.geocities.co.jp/HeartLand-Asagao/7077/test.html
この例ですと1日に1記事ですが本当は1日に何件か載せたいので
時間を表示させたいのです。

使い道は最新トピックという感じに使いたいと思っているのですが。。
0435nobodyさん03/11/05 04:32ID:???
>>434
sasameってのはお前の事か?
お前の質問に対する管理人のレスがあっても、お前にとって期待はずれの内容だったら返事もかけないのか。
いまからでも遅くない。レス書いて桶。

> 改造したいと思っておりまして、自分なりにやってはみた
と書いてあるから、ヒントを出せば自分で改造できると俺は理解した。

$NickyFnameの件
$NickyFnameはファイル名で日付が入っている。
そこに時刻も含めたらって言うのが>>429 の意見。
俺もこれがいいんじゃないかと思う(ってスクを詳細に見てないが。。。)

ファイルの中を読むの件
ファイルの更新時刻をログに記述するって言う事。
0436nobodyさん03/11/05 09:13ID:???
…GetNickyFile でちゃっかり時刻も取得してたのか_| ̄|○

日付を日記に書き込む設定をしてる場合、
531行目あたりの
@daylist[$i]="$mdstr$day$TLday</a>";
を
@daylist[$i]="$mdstr$day$TLday $hour:$min</a>";
に。
imode版も似た処理をしてる場所を探してくれ。
タイトルを出力する直前なら間違いなく$hourには時間、$minには分が入ってる。
俺は自分の愚かさを振り返りつつ吊ってくる。
0437nobodyさん03/11/05 11:20ID:???
いや、ご苦労だった。俺もやろうと思ったが
先人がいたのでやめていたところだ。
0438nobodyさん03/11/05 11:33ID:???
同じく。ご苦労だった。俺もやろうと思ったが
先人がいたのでやめていたところだ。
0439nobodyさん03/11/05 14:25ID:755OuOcr
http://www.big.or.jp/~knight/download/diarypro/diarypro216.lzh
これに、アクセス解析の
<SCRIPT language="JavaScript">
</SCRIPT>
をつけたいのですが、どこにつければいいでしょうか?
いろんなところに試したのですが、駄目でした。
0440nobodyさん03/11/05 14:44ID:???
>>439
はぁ? <body...> 探してその直後に片っ端から付けてりゃいいだろう?
0441nobodyさん03/11/05 18:54ID:T2tdZYMk


&MailSend($mail_address,$name);

$template_file = "$tmpl_path/ok.html";
$template=HTML::Template->new(filename => $template_file);


print $template->output;
exit;

oK.htmlをcgiで読み込むのでは無く、
ok.htmlに飛ぶ様にするのは可能でしょうか?

お願いします。
0442nobodyさん03/11/05 19:00ID:???
&MailSend($mail_address,$name);
print "Location:http://hogehoge/ok.html\n\n"
exit;
044344103/11/05 19:05ID:T2tdZYMk
>>442 様
ありがとうございました(TдT)
本当に!!!
0444夏03/11/05 20:55ID:???
只今仕事から帰宅しました。
>>435さん
お返事、ご説明有り難う御座います。

nicky!bbsの書き込みについては、違う方です。同じような質問なのでnicky!のBBSの過去ログ
を調べた際に拝見しましたが、私は『できないことは無いのでは?』と
思っておりましたので〜(やり方はわかりませんでしたが)

>>436さん
@daylist[$i]="$mdstr$day$TLday</a>";
を
@daylist[$i]="$mdstr$day$TLday $hour:$min</a>";
おっしゃるとおりに変更しましたら
出来ました!!時間表示されました!
とても感激です。有り難う御座いました。
一緒に考えていてくださった皆様も有り難う御座います。
まだタイトルの文字数の方はできていませんので
できましたら報告にあがります。
(またつまずいたらご質問しにくると思います…)
m(._.)m ペこっ
0445夏03/11/06 05:12ID:???
早速つまずきました。。
もういちどスクリプトの場所を書いておきます。
まずスクリプトの内容なのですが
http://www.geocities.co.jp/HeartLand-Asagao/7077/nicky.txt
が日記本体です
http://www.geocities.co.jp/HeartLand-Asagao/7077/list.txt
が色んな表示が可能になるスクリプトです。

タイトルが長い場合自動的に短く省略されるようなことって
できるのでしょうか。。
例えばタイトル文が↓このように長い場合
【今日は2chのWebProg板で親切な方々に教えていただきました。】

このように↓
【今日は2chのWeb…】という感じで途中以降は読めなくても
いいので切りたいのです。

やり方をご存知の方はお手数ですが助けてください。
n(_ _)n
044643903/11/06 12:32ID:???
BODYのところや、いろんなところに張ったのですが、無理でした。
044744603/11/06 13:53ID:???
文章の横に書いたり、リンクの横に書いたりしましたが、無理でした。
0448nobodyさん03/11/06 22:29ID:???
javascriptの記述に問題がある、と予想してみる。
htmlに貼って試してみ。


>445
○list.cgi?TitleList対応
list.cgiのsub PutTitleList内の
@titlelist[$i]="$mdstr $Title</a>";
の行頭に#(半角)をくっつけ、以下を直後の行にコピペ。
@titlelist[$i]="$mdstr " . substr($Title,0,14) . "</a>";

○i-mode表示対応
list.cgiのsub PutTitleListIMODE内
$str="$mdstr$day$TLday</a>$Title<BR>";
の行頭に#(半角)をくっつけ、以下を直後の行にコピペ。
$str="$mdstr$day$TLday</a>" . substr($Title,0,14) . "<BR>";

i-modeの方は都合により未テスト。
ともに先頭14字まで切り出す(全角は2文字と計算)。14の部分を書き換えると字数変更可。
手抜きなので境目(この場合だと14-15字目)が全角だと化ける。10行ほど追加すると対応できなくもないけど。
気になるなら「substr 日本語対応」とかでぐぐってとりあえず自分で頑張るよろし。
0449nobodyさん03/11/06 22:41ID:???
あー、「…」忘れた。
コピペするものをこっちに。
○list.cgi?TitleList
if( length($Title) > 14) {@titlelist[$i]="$mdstr " . substr($Title,0,14) . '…</a>'; }
else {@titlelist[$i]="$mdstr $Title</a>";}

○i-mode
if ( length($Title) > 14 ) { $str="$mdstr$day$TLday</a>" . substr($Title,0,14) . '…<BR>'; }
else {$str="$mdstr$day$TLday</a>$Title<BR>"; }

サイズ変更の際は14の部分を両方変えること。
0450夏03/11/11 02:10ID:???
>>448さん
>>449さん
わかりやすい解説、誠に有り難う御座います。すみません。父が2日前に亡くなりまして、
色々と慌しくてお返事が遅くなりもうしわけございません。
まだ試しておりませんので、落ち着きましたら改めて御礼を申し上げに
こちらに参ります。
0451nobodyさん03/11/11 02:58ID:???
大変だったな
がんばれよ
0452nobodyさん03/11/11 03:40ID:???
ご愁傷様です。ご香典の代わりにこのスレを捧げます。
0453nobodyさん03/11/11 21:52ID:???
http://www.kokobbs.com/ahhan/cgi/ver2/ahh255e.lzh
のAHhan! BBSにトリップ機能を付けたいので
改造方法、教えて下さい。
0454nobodyさん03/11/11 22:13ID:???
>>453
直リンすんな
0455nobodyさん03/11/11 22:27ID:p3Nvx6Xc
>>411よりイイ トリップルーチン ある?
0456nobodyさん03/11/11 23:04ID:???
>>453
Ahhanのサイトに改造やってるところへのリンクがある
0457nobodyさん03/11/11 23:59ID:???
ttp://saya.kiy.jp/cgi/other.html

の「CC Ans.Q」というスクリプトを改造お願いします。
この状態ですと書き込みの修正ができなくて
クッキーも非対応なんです。
これを書き込み修正可、クッキー対応にしてもらう事は
可能でしょうか?
大変面倒だとは思いますが、心優しいお方お願いします。
0458nobodyさん03/11/12 01:47ID:???
可能だ、がんばれや
0459nobodyさん03/11/12 20:34ID:???
The RoomさんのPower Searchなのですが、
http://dream.lib.net/room/cgi/e_ps.html
「クール」などのマークを付けられるのが、通常では管理人だけになってるのを、
一般の登録者でも任意で付け外しできるように改造したいのです。
カテゴリー分けとは別の、ジャンル分けの目印として用いたいのです。

http://s323.at.infoseek.co.jp/ps_user-cgi.txt
306行目あたりから?とは思いますが、これだけではやはりログに反映されませんし。

どなたか解決法がわかる方おられましたら、お願いします。
0460nobodyさん03/11/13 00:42ID:???
>457
修正+クッキー機能のついた掲示板を改造する
修正+クッキー機能のついたラウンジ型の掲示板を捜す
の方が多分楽。
0461nobodyさん03/11/15 10:35ID:???
SUN BOARD(http://www.kent-web.com/bbs/sunbbs.html)を
連邦さん(http://www.renpou.com/)や、
裏ヌ風さん(http://www.uranufoo.com/)
のように改造したいのですが、どうすればよいのでしょうか?
どこをいじればいいのかわからなくて。。

お願いします。
0462nobodyさん03/11/15 10:49ID:???
>>461
> のように
と書いてあるが、どこをどう改造して欲しいのかさっぱりワカラソ
単にフレームというなら鼬害
046346103/11/15 11:14ID:???
初期のまんまだと、書き込んだときにダサいデザインなんで、
かっこよくしたいってことです
0464nobodyさん03/11/15 18:22ID:???
>>461
デザインの問題なら、skin系の日記や掲示板などを改造した方が、
よっぽど早いと思うが。
0465nobodyさん03/11/15 18:31ID:???
ダサいとかかっこいいなんていう抽象的なものはわからんな
スルーでいいだろ
0466nobodyさん03/11/15 19:36ID:???
詳しく説明すると、もっとこう
ずばばばばーずがーんどきゅーんすぱーんすぱーんって感じにしたいってことです

さっ次、次
0467nobodyさん03/11/16 03:50ID:???
>466
<embed src="zubabababa-zuga-nDQNsupaaansupaaaan.wav">
046846303/11/16 09:43ID:???
遅レスすみません。。
>skin系の日記や掲示板など
探してみます。
でも改造するんだったら知識とかないから、結局またここで聞きます。

お願いしますね。では逝ってきまつ
0469nobodyさん03/11/17 06:54ID:???
htmlの事を聞くのはスレ違い。
はい、次、次ー。
0470nobodyさん03/11/17 20:44ID:???
(´-`).。oO(でも巷の掲示板類ってすっとこどっこい HTML なんだよなぁ(哀))
0471nobodyさん03/11/18 00:38ID:???
まーメインでコーディングやってるとHTMLなんか自然におざなりになる罠。
しかしHTMLレイアウトはフォーム近辺を変えない限り改造は簡単だからなあ。
デザインの好みもあるだろうし、その辺はユーザ側にやってもらいたいのが本音と思われ。
0472nobodyさん03/11/18 18:54ID:D1GhPDbj
WebProg 初心者の質問Pert6から流れてきました。

更新記録CGIを使用したいのですが、普通の更新記録CGIは管理者が1人ですよね。
イコールIDとPASSは1組です。
しかし、複数の人間が書き込みするシステムが必要になりました。
イメージ的には会社のトップページに更新記録を貼り付け各支店担当者が書き込みをするというものです。
その更新記録CGIに他の認証CGIを組み込んでみました。
本店でIDとPASSを発行するのですが、そのシステムがうまく動きません。
ID追加・書き込みがちゃんと出来たのでOKだと思っていたのですが、あるID(支店名)が間違っていたため
削除しようとしたら、1番目のIDの組み合わせを残して全ての情報が消えてしまいました。
3つのIDが入っていて2つめを削除しようとすると3つ目まで消えてしまうのです。
ちゃんと、チェックボックスをつけたものだけが消えるようにしたいのですが、どこを変更したら良いのでしょうか?

ttp://www.geocities.co.jp/SiliconValley/9193/

圧縮した全ファイルです。
ttp://www.geocities.co.jp/SiliconValley/9193/history.lzh

本体・設定ファイルはとりあえずTXT化しておきました。
ttp://www.geocities.co.jp/SiliconValley/9193/history.txt
ttp://www.geocities.co.jp/SiliconValley/9193/config.txt

よろしくお願いします。

0473nobodyさん03/11/18 19:30ID:???
すごいなこれ、、、、読む気が失せる・・・
ちょっとこれだけじゃ動作しないんで確認できないし

history.cgiに メンバー削除モードってあるだろ
その中でpush したやつとしてないやつ全部プリントしてみ

checkboxをこういう使い方してるのは参考にしたスクリプトが
こうやってんの?
0474nobodyさん03/11/18 19:49ID:D1GhPDbj
>>473
返答ありがとうございます。

>ちょっとこれだけじゃ動作しないんで
とはどういうことでしょうか?とりあえず、全ファイルを圧縮してあるので動くはずですが…
というか、動いてある状態のものを圧縮したのですが…

また、書き忘れてましたが、CGIの最後に「?mode=pass」とすることで書きこみ画面に行きます。
下のアドミニモードよりユーザーの追加が可能です。
PASSは「config.cgi」にあるように「7777」でいくことが出来ます。

>その中でpush したやつとしてないやつ全部プリントしてみ
すみません。方法が良くわからないです。認証部分も単に他のCGIを埋め込んだだけなので、
CGIのスキルはかなり低いです。どのようにやれば良いのかさっぱりです。

>checkboxをこういう使い方してるのは参考にしたスクリプトがこうやってんの?
そうです。デザインは変更しましたが、プログラム自体はそのままです。
元々、アクセス解析機能も付いていたのですが、必要ないと思って削除したのですが、
その時に間違って削除部分を触ってしまったかもしれません。

以上かなり初心者なので変なことをしているかもしれませんが、よろしくお願いします。
0475nobodyさん03/11/18 20:02ID:???
>>474
とりあえずわかった
print "<input type=hidden name=lcot value=\"$no\">\n";
この行が、$no が確定する前に実行されてるから。
もっと下の、
print "<input type=submit value=\"DELETE\" title=\"DELETE\" class=\"bot\">\n";
の前の行あたりにもってってみな
0476nobodyさん03/11/18 20:09ID:fnFHlnCq
>>475
返答ありがとうございます。
IDを見ていただければわかると思いますが、さっきは仕事場、今自宅です。
今手元にプログラムが無いため、明日朝1番に修正してみます。
ということで、結果は明日になります。

しばしお待ちください。



0477nobodyさん03/11/19 10:03ID:???
とりあえずデバッグの方法だけはいくつか覚えておくべき
今回のは、print STDERR "式"; でapacheのエラーログみたけど
ファイルに書き出すとかツール使うとかあるでしょ
0478nobodyさん03/11/19 10:13ID:Z+yQwy3L
>>475>>477
同一の方でしょうか?

ありがとうございます。ばっちり出来ました。

>ファイルに書き出すとかツール使う
とはどんなツールですか?
エラーを確認する方法としてはkentさんのところで配布している構文チェック(でいいのでしょうか?)
用CGI「Perl Checker」しか使っていません。

お勧めのツールがあれば教えてください。
0479nobodyさん03/11/20 06:25ID:???
構文をチェックするってのは、文法的に正しいかどうかのチェック。
文法が正しいが、書いてる内容が変な場合はそれだとチェックできないだろ?
0480nobodyさん03/11/21 00:31ID:???
ハンドルネームの保護機能を作りたい。
で、こんなもの書いてみますた。

@hndle1 = ("太郎","花子");

@hndle2 = ("0123","abcd");

if (($in{'pwd'} ne $pass && $in{'name'} eq "$master_name") {
&error("管理人のハンドルネーム使っちゃいけません");
} elsif ($in{'name'} eq $hndle1[0] && $in{'pwd'} ne $handle2[0]) {
&error("他人のハンドルネーム使っちゃいけません");
}

問題はこれだとelsif分岐を大量に書くはめになるってこと。
whileでなんとかするのかな?なんて気もするけど、
現時点のスキルではそこで限界。
アイディアまたはヒントがあったら教えてちょうだいな。
0481nobodyさん03/11/21 02:08ID:???
まあwhileでもいいけど、俺はハッシュが好き。

%hndle = (
'太郎' => '0123',
'花子' => 'abcd'
);

#管理人HNチェック
if ( $in{'name'} eq $master_name && $in{'pwd'} ne $pass ) {
&error("管理人のハンドルネーム使っちゃいけません")
}
#パンピーHNチェック
if ( exists($hndle{ $in{'name'} }) && $in{'pwd'} ne $hndle{ $in{'name'} } ) {
&error("他人のハンドルネーム使っちゃいけません")
}
0482nobodyさん03/11/21 02:32ID:???
>>1を読んでここが適切かよく考えなさいな
0483nobodyさん03/11/21 08:32ID:???
登録数が多いようなら名前とpass(を暗号化したもの)を記述したログファイルで各行whileだろうな。
2chのキャップとか削除人の名前ってどんな実装されてんだろ。
0484nobodyさん03/11/21 21:19ID:???
>>483
# ハンドル(キャップ)
&jcode::tr(\$FORM{'mail'}, '#', '#');
if($FORM{'mail'} =~ /([^\#]*)\#(.+)/){
 my $mail_message = $1;
 my $handle_pass = $2;
 $handle_pass =~ s/[\.\/]//gi;
 $handle_pass .= ".cgi";
 my $handle_file = "../handle/" . $handle_pass;
 if(-e $handle_file){
  open(HANDLE,"<$handle_file");
  my $handle = <HANDLE>;
  close(HANDLE);
  chomp($handle);
   if($FORM{'FROM'}){
    $FORM{'FROM'} = "$FORM{'FROM'}@$handle ★";
   }else{
    $FORM{'FROM'} = "$handle ★";
   }
#ハンドルを使う時はプロクシ規制をキャンセルする
  $FLAG = 9;
 }
 $FORM{'mail'} = $mail_message;
}
0485nobodyさん03/11/22 00:48ID:???
existstって関数は初見です。
ハッシュを使うというのは思い浮かばなかったなぁ。
素人的にはハッシュって敷居が高くて、勉強も後回しになりがち。
>>481さんどもでした。
0486nobodyさん03/11/22 01:05ID:???
>>480-485
二度を来るなよ
0487Name_Not_Found03/11/22 05:14ID:gMDA82P9
ttp://www.kent-web.com/のClip Boardを
ttp://www.lunar.to/~chatchat/index_2.cgiのClip Board 多画像アップ版
のようにするにはどうすればよいのか教えてください。
Clip Board 多画像アップ版を使えれば何の問題もないのですが
そこの利用規定に引っかかってしまい使わせてもらうことが出来ません。
どうかよろしくお願いします。
0488nobodyさん03/11/22 05:26ID:???
>>487
利用規定のどの部分に引っかかったのよ?
で、自分ではどこまで改造したわけ?
0489Name_Not_Found03/11/22 05:57ID:gMDA82P9
>>488
無料のホームページスペースだと駄目みたいです。

どこをどういじればいいのかぜんぜんわからないので
ここで少しでもアドバイスがもらえればと思っています。
よろしくお願いします。
0490nobodyさん03/11/22 09:10ID:zFizLjpn
>>486
オマエガナー
049129603/11/23 12:00ID:???
【  CGI名  】MiniBoard (cg_type=3)
【配布先URL】http://www.prettybook.com/
【設置サーバ】www2s.biglobe.ne.jp
【 質問内容 】日付の上部にタイトルを表示させたい
「sarasou.com」でレンタルしているタイプの日記を設置したくて
上記のCGIを設置しました。一応、表示は出来るようになっています。
それがそのままだと日付とコメントしか表示できないのですが、タイトルも
表示できるようにさせたいのです。
(レンタル事業用の「PRETTY MDS PRO 1」のような表示方法)
設定部分の「#-投稿フォームのサイズ」のところで「$title_fw = 35」を
足してみましたが反映されるはずもなく。
どなたか、方法をご存知の方がおりましたら教えていただけないでしょうか?
どうかよろしくお願いいたします。

上記の質問を「CGI設置スレ」に書き込んだところ、こちらの方が適切な
スレだと誘導していただきました。
投稿フォームにタイトル欄を表示させるまでは出来たのですが、入力しても
表示されず、形だけで使い物になっていない状態です。
テキストはこちらです。
http://www.geocities.co.jp/HeartLand-Hanamizuki/8294/pminib_cgi.txt

アドバイスをいただければ嬉しく思います。よろしくお願いいたします。
0492nobodyさん03/11/23 20:58ID:???
>>491
ざっと見ただけでテストはしてないぞ
行番号を下記のように変更しる
長すぎる行があるって2ちゃんねるに怒られたので、line:363は途中で改行を入れてる
あとで戻せ

line:363
unshift(@LINE,"$num<>$date<>$in{'name'}<>$in{'email'}<>$in{'scol'}<>$in{'get'}<>
$in{'hd'}<>$in{'com'}<><>$in{'url'}<>$host<>$pwd<>$in{'icon'}<>$in{'fcol'}<>$in{'title'}<>\n");

line:431
($num,$date,$name,$email,$scol,$get,$hd,$com,$res,$url,$host,$pwd,$icon,$fcol,$Title) = split(/<>/,$LINE[$_]);

line:747
($num,$date,$name,$email,$scol,$get,$hd,$com,$res,$url,$host,$pwd,$icon,$fcol,$Title) = split(/<>/,$LINE[$_]);

line:835
($num,$date,$name,$email,$scol,$ged,$hd,$com,$res,$url,$host,$pwd,$icon,$fcol,$Title) = split(/<>/,$line);
0493nobodyさん03/11/23 20:59ID:???
その2
line:1016,1018も改行している

line:1002
($num,$date,$name,$email,$scol,$get,$hd,$com,$res,$url,$host,$pwd,$icon,$fcol,$Title) = split(/<>/, $line);

line:1016
$line = "$num<>$date<>$in{'a_name'}<>$in{'a_email'}<>$in{'a_scol'}<>$in{'get'}<>$in{'hd'}<>
$in{'com'}<>$in{'res'}<>$in{'a_url'}<>$host<>$pwd<>$in{'a_icon'}<>$in{'a_fcol'}<>$in{'title'}<>\n";

line:1018
$line = "$num<>$date<>$in{'name'}<>$in{'email'}<>$in{'scol'}<>$in{'get'}<>$in{'hd'}<>$in{'com'}<>
$res<>$in{'url'}<>$host<>$pwd<>$in{'icon'}<>$in{'fcol'}<>$in{'title'}<>\n";

line:1045
($num,$date,$name,$email,$scol,$ged,$hd,$com,$res,$url,$host,$pwd,$icon,$fcol,$Title) = split(/<>/,$line);

line:1106
$m_cook="name<>$in{'name'},email<>$in{'email'},url<>$in{'url'},pwd<>$in{'pwd'},scol<>$in{'scol'},icon<>$in{'icon'},fcol<>$in{'fcol'}<>$in{'title'}";

line:1126
$c_pwd = $COOKIE{'pwd'}; $c_scol = $COOKIE{'scol'}; $c_icon = $COOKIE{'icon'}; $c_fcol = $COOKIE{'fcol'}; $c_title = $COOKIE{'title'};

line:1199
$com=$in{'com'}; $get=$in{'get'}; $hd=$in{'hd'}; $Title=$in{'title'};

line:1269
($pnum,$pdate,$pname,$pemail,$pscol,$pget,$phd,$pcom,$pres,$purl,$phost,$ppw,$picon,$pfcol,$ptitle) = split(/<>/, $pst_line);

line:1463
($num,$date,$name,$email,$scol,$get,$hd,$com,$res,$url,$host,$pwd,$icon,$fcol,$Title) = split(/<>/,$_);
0494nobodyさん03/11/23 21:03ID:???
その3


1209-1210行の間に追加しる

$message .= "TITLE : $Title\n";



下記行番号の空行に追加記述しる

line:1135 追加
if ($in{'title'}) { $c_title = $in{'title'}; }

line:476 追加
print "$Title</td></tr><tr><td bgcolor=$kiji_col $k_bgcol>\n";

あとはHTMLのデザインの問題だからお前に任せる
0495nobodyさん03/11/24 10:41ID:tqVmKBne
【  CGI名  】髭式BBS v1
【配布先URL】http://www19.big.or.jp/~hige/
【設置サーバ】cun.jp
【 質問内容 】
新規投稿時にコメント欄にテンプレートを表示させているんですが
返信時にもこのテンプレートが表示されてしまいます
新規投稿時だけテンプレートを表示するにはどのように改造したらいいのでしょうか?
http://www.pandora.nu/tv/src/img20031124104012.txt
049649503/11/24 11:35ID:???
>>495
すいません
自己解決できました
049749103/11/24 21:06ID:???
>>492〜494
回答してくださって、有難うございます。
これから作業してテストを行いますが、まず、一言お礼を申し上げたくて
書きこみさせていただきました。
本当にありがとうございました。
049849103/11/25 02:56ID:???
何度も申し訳ありません。
「タイトルを入力出来るようにしたい」と書きこみ、回答をいただき
教えていただいたとおりに修正をしました。
それでタイトルを入力すると「'}」と表示されてしまうのです。
過去ログ編集で入力しなおすと普通に表示されます。
一体、何が悪いのか途方に暮れております。
あまり何度も質問して甘えるのは良くないと思うのですがアドバイスを
いただけないでしょうか?よろしくお願いいたします。

http://www.geocities.co.jp/HeartLand-Hanamizuki/8294/pminib_cgi.txt

0499nobodyさん03/11/25 03:10ID:???
>>498
364行目の前から157文字目から4文字はいらんのじゃないか?
つーか 「'}」 が表示されておかしいってのがわかってんなら
「'}」で片っ端から検索すればわかるようなもんだろ。
050049203/11/25 04:12ID:???
>>498
>>499の言う通りline:364に
$in{'fcol'}<>'}<>$in{'title'} こんな部分がある。
拡大汁と、<>'}<> だな。

改造部分、修正部分の行末にコメントを書くのはいいが、おまいのはコメントになっていない。
・・・・・・・ ; (#修正)
これだと動かすとエラーになるだろ?
・・・・・・・ ; #修正
って書くもんだ。

ま、ガンガレや
050149103/11/25 11:26ID:???
>>499さん、>>492さん
アドバイスをありがとうございます。
おかげさまで普通に文字が表示されるようになりました。
文字を入力したのに文字化けする!と思い込んでしまい、
余計な文字が入っているという発想が出来ませんでした。
こんな超初心者に教えてくださって、本当にありがとうございました。
ここから先(デザイン関係)は地道に自分で考えていきたいと思います。
不安ですが、頑張ります。
0502nobodyさん03/11/26 19:24ID:???
はじめして。

画像アップロード機能付きの掲示板で
画像が添付されたとき、任意のアイコンを表示させて
アイコンクリックで別窓に画像表示、、できるようにするのは
かなり大掛かりな作業になるでしょうか。

画像表示は、原寸、サイズ指定、サムネイルが選択でいるようになっています。
それと画像がなかった場合、代替画像表示も可能です。

製作者の方に、要望を出そうかな、と思っているのですが
あまりにも大掛かりな改造・・・ということなら
申し訳ないので、要望だすのはやめようと思い
こちらでお聞きしました。

よろしくお願いします。
0503nobodyさん03/11/26 19:48ID:???
>>502
さしたる苦労でもない。
が、作者のスクリプトがクソミソで読みにくい場合はこの限りではない。
0504nobodyさん03/11/26 20:18ID:???
なるほど。
製作者本人なら、大作業ではないってことですね。
要望出すかどうか考えます。
ありがとうございました>503
0505nobodyさん03/11/26 20:55ID:QnquB6IS
はじめまして。初めてカキコさせていただきます。
自分はまだ改造の初心者で、見よう見真似で他の改造版からいろんな
機能をパクっていろいろイジってたのですが、どおしても壁にブチあたったので
質問させてください。

現状、KentさんのYYBOADの改造版をさらに改造して使っております。
ttp://minicgi.net/で配布しているものに、MT2CHの機能を移植しました。
主な改造点は、
・掲示板のTOPにスレッドリスト(最新○○件)
・スレTOPに「▲▼■」などのリンク
・レス�u\示
とここまではなんとか出来たんですが。。もうひとつ追加したい機能で
「レス記事表示制限」をなんとかしたいんです。
TOPには10レス表示してるのですが、レスが伸びたスレがあがってると
TOPが異常に長くなってしまうもので。

MT2CHで使用している「if ($mm2[$nn2] < $num2)」の表記をアイコン領域、
コメント領域などに適用したのですが・・・表示はされないものの
空白だけは残ってしまうのです^^
恐らく、ログの読み込みの段階で読み込み範囲を定義してあげなきゃ
いけないのでしょうか?
Perl初心者で申し訳ないのですが、アドバイスのほどよろしくお願いします。

このさいなんでアド晒します(テストフォルダですがww
http://lovely-aya.appletea.to/cgi/test/mainbbs.cgi
050650503/11/26 20:57ID:QnquB6IS
>TOPには10レス表示してるのですが、
=TOPには10スレ

   スミマセン^^;
0507nobodyさん03/11/26 21:19ID:???
>>505
「レス記事表示制限」ってのがよくわかんねーな。
TOPには10スレ表示したいと、何が何でも10スレだと。
1スレに10レスだと合計で100レスだと長くなるから「レス記事表示制限」したいとこういうわけだね。
ところで「レス記事表示制限」って何を制限するものだろうか。。。
スクリプトを見ればわかるかな?
おまいの改造したスク晒せ。
完成イメージHTML作ってみろ。
つーか、おまい>>1を読んでないだろ。
050850503/11/26 21:42ID:QnquB6IS
説明不足でした
レス記事表示制限は、
1スレあたりに表示するレスを最新○○件
などと定義したいんです。
(最初に1。次は23〜33レス・・などのように
50レスとかついて10スレ表示されるととんでもない量の表示に
なるもので(汗

http://lovely-aya.appletea.to/kaizou.htm

すいませんでしたm(__)m 改造部分のソースです。

050950503/11/26 21:49ID:QnquB6IS
http://lovely-aya.appletea.to/kaizou.txt
すいません。。こっちのが見やすいです
0510nobodyさん03/11/27 04:14ID:???
スクは部分じゃなく全部晒せ

> 1スレあたりに表示するレスを最新○○件
> などと定義したいんです
現状で10件と定義されてるんじゃないの?
0511nobodyさん03/11/27 04:55ID:oC8UJ7x+
はじめまして。
現在フリーのショッピングカートを改造して使用しております。
元スクリプトは
ttp://wb-i.kir.jp/wb-i/
のEasy Shopです。現在の配布バージョンは1.11ですが、
1.09を改造して使用しております。

いろいろ改造した結果
商品データファイルに余計な改行が入るようになってしまいました。
ttp://www.geocities.co.jp/SiliconValley-Cupertino/8353/e_data.txt
この改行をなくしたいので、
どなたかご教授いただけないでしょうか、、

使用しているソースはこちら
ttp://www.geocities.co.jp/SiliconValley-Cupertino/8353/e_shop.txt
元のソースがなかったんで、現在配布しているバージョンのソースをアップします。
http://www.geocities.co.jp/SiliconValley-Cupertino/8353/e_data111.txt

勉強しながらの改造なのでソースがめたくそなのは勘弁してください、、、
よろしくお願いいたします、、、
■ このスレッドは過去ログ倉庫に格納されています