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

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

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

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

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

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

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

過去ログ>>2
051450503/11/27 08:49ID:HLY/75ez
>510

http://lovely-aya.appletea.to/kaizou.txt
スク全部晒して上書きしました。

一応、レス数表示は最新10件表示になるよう強引な改造はできてます。

最大表示レス数
$syoryaku=10;
$num2=$num+$syoryaku;
とし、
レスの各ブロック(コメントテーブル、アイコンテーブル・・など)
に対してif ($mm2[$nn2] < $num2)を付けてます

ただ、現状のやり方だと省略したレス分の空白ができてしまう
状況なんです。
http://lovely-aya.appletea.to/cgi/test/mainbbs.cgi


なので、やり方が間違っているのかと思いまして
アドバイスのほう頂きたく再度晒します^^

どうか、宜しくお願いします。
0515nobodyさん03/11/27 20:12ID:???
>>514
もともとのスクがKENT作だから見難い上に、おまいのはインデントが滅茶苦茶で見るのに苦労したよ。

846,869,878,880,881行目が変。
この行は無条件でprintしてる。

それと、if文の書き方もなんだかしょっぱいな。
勉強が必要だな。

あとな、パスとかログファイル名とか書いてあったけど、直しておけよ。
0516nobodyさん03/11/27 20:25ID:???
>>513
279-280行目の間に
chomp $data ; # ただしperl5
051750503/11/28 01:24ID:TJ9UbLAB
>515
あ、ありがとうございました〜!
なんとかキレイに表示することができました。
各ブロック全てに条件つけてあげなきゃならんかったんですね^^;
ほんとド素人ゆえ、見よう見真似で記述したので
かなりしょっぱいスクリプトですw
まだCGI設置してから半年たらずなもので^^;これからも日々勉強します!

つ〜か。。こんなに各ブロックに条件つけるより、
ログファイルを読み込む時点で制御できないものだろうかと。。。
きっとそのほうが処理も軽くなるような気が。
051849503/11/28 19:46ID:???
【  CGI名  】髭式BBS v1
【配布先URL】http://www19.big.or.jp/~hige/
【設置サーバ】agz.jp
【 質問内容 】
投稿記事の編集が管理人しかできないようになっています
これを投稿者にも編集できるように改造したいんですがどうすればいいのでしょうか?
さらに編集した場合その編集した日時を自動的に挿入するようにもできませんか?
CJ-ClubにあるChild Treeみたいな感じに…
後、記事を削除する時も投稿者は完全には削除できません
投稿者に、復帰できる形の削除か、完全に削除か選ばせられるようにはできないでしょうか?

よろしくお願いします
本体
http://www.pandora.nu/tv/src/img20031128194532.txt
Web用モジュール
http://www.pandora.nu/tv/src/img20031124104012.txt
0519名無しのごんべい03/11/28 20:04ID:MW+UWZ+d
http://php.s3.to/net/kusi.phps
を元にPHP串を作成中ですがGETメソッドで掲示板の書き込みが出来ません。
<〜action="http://a.com/kusi.php?http://b.com/bbs.cgi"〜>となるのを
<〜action="http://a.com/kusi.php"〜><input type=hidden name=u value="http://b.com/bbs.cgi"〜>にするにはどうすればできますか?
0520nobodyさん03/11/29 07:08ID:???
>>518様
このスレは「スクリプトを改造したいけどやりかたわかんないよー」な人が>>1の(1)〜(3)に留意してアドバイスを求め、答えてもいいかなと思った奇特な香具師がアドバイスを送るスレなのです。
>>1にはハッキリ明記されておりませんが、スレの流れから申しますと>>1の(3)の
> 少しは自分で考えること。
が出来ていない人には大変厳しいスレになっております。
したがいまして、>>518様におかれましてはご足労とは存じますが、>>518様が改造なさられたスクリプトをここに集う奇特な香具師連中にお目にかける必要があろうかと存じます。
エラーが出ておりましても構いません。
途中で投げ出されておりましても構いません。
私共は>>518様のお心が知りたいのです。
どうかよろしくお願いいたします。

ぶっちゃけ 「丸投げをするんじゃねーぞゴルァ」 でございます。
052151803/11/29 08:24ID:???
>>520
1062行目の
&PassCheck($msg,1);
を
&PassCheck($msg,0);
1104行目も同じように変えたら一応編集画面まではいけたんですが…
編集して送信しようとすると
「記事の編集は管理者しかできません」
と出て編集できませんでした

この後どうすればいいかわからずつまってしまいました
052251803/11/29 08:26ID:+XFITraT
すいません
ID出し忘れました
0523ぺぺぺ03/11/29 09:19ID:UrSW+93h
http://www.kent-web.com/chat/robo.html
http://www.kent-web.com/chat/yychat.html
上の「人工知能チャット」と「アイコンチャット」を
http://www.kent-web.com/chat/miu/miuchat.cgi
マルチであらわしたいのですができるのでしょうか?
0524nobodyさん03/11/29 10:20ID:???
できません。
0525ぺぺぺ03/11/29 10:50ID:UrSW+93h
了解しました。
0526nobodyさん03/11/29 16:35ID:???
>>518
hbbs.cgi 219-221行目 コメントアウト
# if ($cmd eq 'epost') {
#  unless (($id eq $admin_id ・・・ ('記事の編集は管理者しかできません', ''); }
# }

hbbs.cgi 296行目
$comment = $acomment;
      ↓
if ($id ne '') {
  $acomment = $acomment . "<BR><BR>管理者によって編集されました。(" . &FormatDateTime(time, 2) . ")";
} else {
  $acomment = $acomment . "<BR><BR>投稿者によって編集されました。(" . &FormatDateTime(time, 2) . ")";
}

web.pl 276行目
if ($par eq '') {
      ↓
if ($par eq '' && $id ne '') {

web.pl 982行目
&PassCheck($msg,1);
      ↓
&PassCheck($msg,0);
0527nobodyさん03/11/29 16:38ID:???
>>518
web.pl 998行目 移動は希望になかったから投稿者は使えなくした
if ($reply ne 'moved') { $html .= "<OPTION value=\"move\">移動"; }
      ↓
if ($reply ne 'moved' && $id ne '') { $html .= "<OPTION value=\"move\">移動"; }

web.pl 1024行目
&PassCheck($msg,1);
      ↓
&PassCheck($msg,0);

web.pl 1046-1048行目
{ &PassCheck('記事の削除は管理者しかできません',1);
{ &PassCheck('ツリーの削除は管理者しかできません',1);
{ &PassCheck('スレッドの削除は管理者しかできません',1);
      ↓
{ &PassCheck('記事の削除は管理者しかできません',0);
{ &PassCheck('ツリーの削除は管理者しかできません',0);
{ &PassCheck('スレッドの削除は管理者しかできません',0);

web.pl 1123行目
&PassCheck('記事の復活は管理者しかできません',1);
      ↓
&PassCheck('記事の復活は管理者しかできません',0);
052851803/11/29 17:01ID:J367hY6H
>>526-527
早速改造してみます
ありがとうございました
0529nobodyさん03/11/30 13:21ID:T8JkCNxy
http://ari-sin3.hp.infoseek.co.jp/arisin4.html
ここにある、ずるぼん式うpろだを携帯でDLできるように改造してもらえますか?
携帯からは、DLだけできるようになればいいのですが・・・
053052903/11/30 13:26ID:T8JkCNxy
普通に、downlord.cgiを見ればいいのですか?
携帯で。
それとも、携帯用のcgiを別途作る必要がありまつか?
0531nobodyさん03/11/30 16:26ID:???
まず>>1をよく読むことをおすすめします
0532nobodyさん03/12/01 10:03ID:???
CGIの改造お願いしようと、
ネットでみつけたサイトのメルフォからメールしてみたんですが
5日たっても返信ナシ。
5、6日たっても返信がない場合は再度メール、、、
と書いてはありましたが
お金払うの不安な気が・・・・。

どこか良心的なCGI改造してくれるサイトご存知でしたら教えてください。
もちろん、有料で結構ですので。

こういう書き込み、アウトだったら
ごめんなさい。
0533nobodyさん03/12/01 13:33ID:???
>>532
アウトです。帰れ。
0534nobodyさん03/12/01 17:12ID:???
OUT is >>532.
0535nobodyさん03/12/01 18:50ID:???
Out with it!
0536nobodyさん03/12/03 19:34ID:???
どうでもいいが、メルフォってなんとなく「ガッ」と殴りたくなる響きだ。
0537nobodyさん03/12/08 00:14ID:vI59VljB
YY-BOARDの返信機能を無しにしてゲストブックとして使いたいのですが
どこを消せばいいのかわかりません。

返信機能なしのゲストブックを色々探したのですが
セキュリティ機能がついてないのでYY-BOARDの機能をそのままで
ゲストブックとして使いたいのです。

どなたか教えてください。
0538nobodyさん03/12/08 03:02ID:???
>>537
HTML的に返信ボタンを消しちゃえば?
0539nobodyさん03/12/08 04:06ID:???
>>538
それだとコマンドラインで自分で引数を入力すれば返信できる。
0540nobodyさん03/12/08 07:27ID:???
そこまでして強引に返信機能を使おうとする香具師がいるか?w
0541nobodyさん03/12/08 09:50ID:???
アンケートのページで消されてた項目追加ボタンを強引に送った事があるなあw
submitされたときに返信ボタンだったら処理するとこをつぶせばいいやん
0542nobodyさん03/12/08 14:05ID:???
どっちみち>>1を読んでないようだから放置しとけ
0543nobodyさん03/12/08 15:49ID:???
特定の機能を殺すのはけっこう簡単な改造だから、
ちゃんと依頼すればやってくれる香具師は多いと思われ。
0544nobodyさん03/12/08 20:41ID:I4EgvJoy
YY-BOARDで書き込みの日時が表示されないようにしたいのですが、スクリプトのどの部分を消せばできるでしょうか?
0545nobodyさん03/12/08 20:48ID:???
>>544
>>1読め
0546nobodyさん03/12/09 00:14ID:K9xlBRDN
perlのBBSスクリプトを使っております。
このスクリプトですと、携帯キャリアから投稿されたカタカナはすべて半角に強制的に変換され、
PCから投稿されたカタカナは逆にすべて全角に変換されるんです。
その結果PCから2文字以上連続した半角カタカナを投稿されると必ず文字化けするという惨状でした
ので、デコード部を改造しないとダメなのかなぁと思いあちこち検索してやってみましたら、一応、キャリア
に関わらずすべてのカタカナ投稿を半角カタカナに強制変換させることができました。
ですがなにぶん素人なもので本当にこれで正解なのかどうかわからずいまいち安心できずにいます。
どうかプロの皆さんの御教授をいただければと思い投稿させていただきました。
宜しくお願いいたします。
日本語変換ライブラリーはjcode.pl ver2.0です。

[元の部分]
jcode::convert(\$val,'sjis','','z') if($agent=~ /Mozilla/);
jcode::h2z_sjis(\$val) if($agent!~ /Mozilla/);

↑これを

#jcode::convert(\$val,'sjis','','z') if($agent=~ /Mozilla/); (←この行をコメントアウトしました)
jcode::z2h_sjis(\$val,'sjis','','z');

↑このようにしました。
0547nobodyさん03/12/09 14:31ID:???
スレが違わないか?
0548nobodyさん03/12/10 03:20ID:???
「動いているコードに手をつけるな」という格言がある。
動きさえすれば初心者の書いたコードだろうがなんだろうが問題ない。

オリジナルの一行目の'z'を'h'にするのが元の処理に一番近い。
ただ、運が悪いとごくたまに文字化けする。処理も重いし。

喪前の考えたコードをそのまま使うことを薦める。
多分、10年前のPCを使ってる奴が新たにBBSに住み着かない限り問題は発生しない。
0549nobodyさん03/12/11 11:43ID:???
自作でチェック機能をつけようとしているのですが、
データファイルの中に下記のnameとemailが
合致するデータの行があった時のみ、エラーを返したいのですが、

    $FORM{'name'} = "aiueo";
    $FORM{'email'} = "[email protected]";

となっている場合で、

    @KENSAKU = grep(/$FORM{'name'}<>$FORM{'email'}<>/,@DATA);
    $count = @KENSAKU;
        if ($count > 0){ &error("エラー") }
        else { $ok = "1"; }

例えばデータファイルがこうなっている時でも
aiueo<>[email protected]<>
kakik<>[email protected]<>
sasis<>[email protected]<>

エラーを返さず素通りしてしまいます。
どなたかわかる方おりませんでしょうか?

@KENSAKU = grep(/$FORM{'name'}/,@DATA);
にした場合や、
@KENSAKU = grep(/$FORM{'email'}/,@DATA);
にした場合は、
正常にエラーを返します。
0550nobodyさん03/12/11 20:38ID:???
>>549
&error("エラー") if (join ' ',@DATA) =~ /\s$FORM{'name'}<>/ || /<>$FORM{'email'}<>/;
$ok = 1;

ではなくって?

> $FORM{'email'} = "[email protected]";
右辺値が変数展開されるです。-> \@desu.com
0551nobodyさん03/12/12 08:42ID:???
>>550
できました。どうもありがとうございました。
0552nobodyさん03/12/12 19:41ID:4cd18UYi
http://www2s.biglobe.ne.jp/~yasuu/anthologys.html


のCGIを改造したいと思っています。
投稿者のIP表示をするにはどのようなことをすればよいでしょうか。
ご教授賜わりたく思います ぜひとも宜しくお願いします。
0553nobodyさん03/12/12 20:43ID:???
>>552
print $ENV{'REMOTE_ADDR'} ;
0554nobodyさん03/12/13 15:54ID:???
リモートホストを見える形で公開、なら一瞬で終わるな。
IPはそもそも取得してないので表示しようと思ったら書き込み処理から書き換える必要がある。
とりあえず>1の(3)
055550503/12/13 17:52ID:AF7ldfoc
先日お世話になりました505です。
前回のアドバイスで改造も順調に進み、大変感謝いたしております。

今回また質問させていただきたいでのすが、KENTさんのYYBOADが
Ver5××からログの保存形式変更になったことに伴い
自分のスクリプトにも過去ログの保存形式だけ移植いたしました。
そこで、過去ログをスレッドリスト表示とし、そこから各スレにリンクを
貼るというカタチにしたのですが、1点壁にぶちあたったのでご教授願います。

テスト→ http://lovely-aya.appletea.to/cgi/test/yybbs.cgi

スクリプト→ http://lovely-aya.appletea.to/cgi/test/kaizou.txt

改造点としては、過去ログサブルーチンpast においてはテーブルによる
スレタイトルのみの表示とし、各スレの中身は
新規にpast_oneというサブルーチンによって表示させてます。
そこで問題があったのは、最初に過去ログを表示させた時に開いてるファイル
(過去ログ�ctァイル。 0002.cgiなど)においては、きちんとリンクするのですが
別ファイルに移行した時(0001.cgi)にはリンクされません。

恐らく、スクリプトの1772行目
$file = sprintf("%s%04d\.cgi", $pastdir,$in{'pastlog'});
ここでのファイルの定義を直さなければいけないとは思うのですが
なにぶん初心者なものでどうしていいのかわからず相談いたしました。

なにとぞご教授、よろしくお願いいたします。
0556nobodyさん03/12/13 20:49ID:???
>>555
> 別ファイルに移行した時(0001.cgi)にはリンクされません。
具体的でないのでよく判りません。
$pastdir の表記は合っていますか?
デフォルトでは相対表記「./past/」になっていますけれども。

♪しかし相変わらずよくこんなワケワカメスクリプト配布してるよなぁ。。。@ある意味えらいよ KENT さま
055750503/12/13 21:51ID:AF7ldfoc
>556
>具体的でないのでよく判りません。

えっとですね。。
過去ログページに入室した際に最初に表示されてるページ
(その時点での最新過去ログ�ctァイル)
においてはリンクが有効なのですが、

ファイル�� →選択→移動

したあとに表示されるページにおいてはリンクがいかないのです

$pastdir の表記は大丈夫だと思います。
過去ログ1ページ目(1ファイル目)では問題なく表示されてますので。。

$file = sprintf("%s%04d\.cgi", $pastdir,$in{'pastlog'});
の%s%04d\.cgiの部分に問題ありなのかな?と思ったのですが・・^^
0558nobodyさん03/12/13 23:04ID:???
>>557
あーなんとなく判ってきた。
空表示の際のHTMLを眺めると判ると思うけれども、
<dl>
</tr>
となっているのでこの間が出力されていない。のが原因。
その要因は・・・
sub past_one の中にある、
while (<IN>)
ブロックが実行されていないから。
その要因は。
$file = sprintf("%s%04d\.cgi", $pastdir,$in{'pastlog'});
で、ファイル名を定義しているけれども、
open(IN,"$file") || &error("Open Error: $file");
で、エラーに飛んで逝ってないので、ファイルは存在するけれどもファイルの中身が空、もしくは、空行や0のみの行が含まれているのがそもそもの根元かと。
1779行目の
while (<IN>) {
を、
while (defined(my $line = <IN>)) {
$_ = $line;
の2行に差替えてみて、それでも何も表示されないのであるならば 「ファイルの中身が空」ということが確定するでしょう。

それはさておき、こんなグダグダのスクリプトと付き合っていると人間を辞める羽目になると思うので早急にほかのスクリプトに移行しましょう。改造してても疲れるだけでしょ?
ついでに吐き出される HTML も無茶苦茶だし。
0559未承諾広告※ ◆aiY4htt2.2 03/12/13 23:08ID:???
って事で、貴重な時間を費やした(wついでに提案。
次スレッドのテンプレートに、
「KENT が配布しているスクリプトについては却下します。」
の1行を追加しませんか?

♪久しぶりに出てきてみた。
0560nobodyさん03/12/14 00:57ID:???
「web拍手」をカスタマイズしよう!
http://pc2.2ch.net/test/read.cgi/tech/1071325838/

から誘導されてきました。
0561nobodyさん03/12/14 04:58ID:???
>>560
誘導されてきたからどうだっていうの?
誘導されたって言う報告をしに来たの?
それとも誘導されたという事について意見を求めているの?

君には決定的に何かが足りない。
それがわからなければ、永遠にスルーされるであろう。
0562nobodyさん03/12/14 12:36ID:???
>505
過去ログの番号を past_oneサブルーチンに渡していないようですね。
過去ログ1ページ目が上手くいくのは
if (!$in{'pastlog'}) { $in{'pastlog'} = $no; }
のおかげ。

1713行目
× $script?mode=past_one&no=$no
○ $script?mode=past_one&no=$no&pastlog=$in{'pastlog'}


>>558
while (<IN>) { ... }
while (defined($_ = <IN>)) { ... }
この二つは等価ですよ。
http://www.perldoc.com/perl5.8.0/pod/perlop.html#I-O-Operators
056350503/12/14 14:34ID:Zb7A41+X
>562
ありがとうございました〜!!
きちんと表示されるようになりました!

ただ教えてもらっただけじゃなく、
それがどういう意味なのかを、本を買うなりして
きちんと勉強していきます!

>558
すみません。自分はまだKENTのスクリプトの
どこがどうグダグダなのかわかっていないレベルなもので^^;
今後も日々勉強し、自分で1から作れるように努力します。
0564nobodyさん03/12/14 15:16ID:???
>>563
俺もKENTにperlを習った口だ。
まだまだKENTの呪縛は抜けきらないが、日々精進して更生してるよ。
use strict;を心掛けるのが第一歩かな。
そうすればmyの使い方も自然と身に憑くし。

それ以前におまいはインデントが滅茶苦茶だったな。
インデントとコメント文をきちんと書くようにしろ。
自分があとで見てすぐにわかるようにしないといけないぞ。
056550503/12/14 15:42ID:Zb7A41+X
>564

アドバイスありがとうございますm(__)m
おっしゃるとおり、インデントは無茶苦茶でした(汗
構文などを理解してないまま、見よう見まねで記述したため
大変醜いスクリプトとなってしまいました。
挙句、自分でもどこがどういう処理をしているのか
理解に苦しむ時が何度も・・・^^;

せっかく「ほんの少し」Perlを理解しはじめてきましたので
これを機に、きちんと本格的に勉強したいと思います。
0566未承諾広告※ ◆aiY4htt2.2 03/12/14 18:41ID:???
>>562
なるほど、ありがとうです。
5.8系 かぁ。。。
0567nobodyさん03/12/15 08:11ID:8LAW+/sT
このスレで適当かどうかイマイチ自信ないので違ってたら指摘して下さい。

最近「Encode.pm」の存在を知り、使っているレンタルサーバーにも実装されている
亊が判明したので、自宅テストサーバーにもインストール(perlのバージョンを上げ
た)して、既に稼働しているCGI用perlスクリプトのjcode.pl使用部分をEncode.pm
用に書き直して実行してみたら日本語が見事に全部文字化けて困っています。
 CGI実行スクリプトの文字コードをUTF-8にしないといけないのかな?などと考え
て試してみましたが化け方が変わっただけで文字化けている亊に変わりなしでした。
 テストは自宅サーバー、レンタルサーバー上の両方で行ない結果はどちらも同じ結果でした。
 念の為にJcode.pmを使うように記述を変えてみると正しく日本語変換されました。
環境は以下
自宅テストサーバー(Mac OS X 10.2.8にperl 5.8にインストール Encode.pm Jcode.pm 何れもCPAN経由での最新版)
レンタルサーバー(Linux perl 5.8 Encode.pm Jcode.pm 何れも実行ファイル一式インストールされている事は確認済み)
0568nobodyさん03/12/15 09:26ID:???
KENTのYYはだいぶ前から更新停まってるよな。
petitなんかはまだ少しずつマシになってるんだけど、
yyはもうちょっとしたカオス。
0569nobodyさん03/12/16 06:25ID:???
http://techside.net/i_shot_p/vi.cgi
のi-shot掲示板が欲しいので、よろしこ
0570nobodyさん03/12/16 11:40ID:tK0i3Zmz
レッツPHPの「写メールBBS」で、
最新の写真だけファイル名を固定したいのですが(例:recent.jpg)、
何か方法があれば是非教えてください。
0571nobodyさん03/12/16 16:19ID:QWGXWwLz
ttp://www.lira.co.jp/t-room/re_cgi/history/index.html
これにメール送信機能をつけようとしましたがうまく出来ません。複数人数が書き込みするためチェックが必要です。
とりあえず以下のようにしてみました。

$sendmail = '/usr/sbin/sendmail';  #sendmailのパス
$tomail = '[email protected]';   #送信先アドレス
を追加。
某メール送信CGIからコピー
------------------------
sub send_mail {
$message = <<_MESSAGE_;
Subject: 書き込みありました。
From: $in{'mail'}
To: $tomail
-----
〜ここに内容〜
_MESSAGE_

&jcode'convert(*message,'jis');
open(EMAIL,"|$sendmail $mail") || &error("プログラムエラー','SendMailがオープンできません");
print EMAIL $message;
close(EMAIL);
}
------------------------
これを、記事登録の前に実行するため
sub edit1 {
&send_mail;  
〜〜
と言う風に挿入。
この状態で、記事は登録されるのですが、メールが届きません。アドレスの間違えではないとした場合、他に何が考えられますか?
よろしくお願いします。
0572nobodyさん03/12/16 17:16ID:???
>>571
> open(EMAIL,"|$sendmail $mail")
$mailって何が入ってる?

それにヘッダは出力してる?
0573nobodyさん03/12/16 17:23ID:QWGXWwLz
>>572
早速の返答ありがとうございます。
前にも書いてますが、コピペしただけなので基本的なことが理解できてないです。
>> open(EMAIL,"|$sendmail $mail")
>$mailって何が入ってる?
何も入ってないかと…
この場合、
open(EMAIL,"|$sendmail") でOKでしょうか?

>ヘッダは出力してる?
えーと、どこに入れる必要があるのでしょうか?メールフォームのコピー元を見ましたが、
ヘッダーを出力するような部分は見当たらないのですが…

再度よろしくお願いいたします。
0574nobodyさん03/12/16 19:12ID:???
>570
受け取った際に、通常のファイル記録に加え、recent.jpgに上書きする処理を追加。
当然recent.jpgと同じ内容の画像が常に存在する事になるけどな。
recent.jpgをhtmlに貼り付けておきたい、とかの用途ならこれで充分。

>571
$mailを$tomailに書き換え。あるいは$sendmail -t にする。前者を個人的に推奨。
あと、文字化けの可能性を考慮してSubjectはFromやToのあとにするか、英字にするのが無難。
057557003/12/16 21:31ID:???
>>574
なるほど。やってみます。ありがとうございます。
057657303/12/18 15:11ID:LRUrMskK
>>574
ありがとうございます。
ばっちり出来ました。
0577nobodyさん03/12/19 14:22ID:???
すんません、
http://www.webclap.com/
にあるweb拍手ですが送れるメッセージ数を変えるにはどこを弄ったらいいのでしょう?
色々と調べてみましたがてんでわかりませぬ…
0578nobodyさん03/12/19 18:55ID:???
>>577
Web拍手とやらが何だか全く知らんが。
作った奴に聞け。
0579nobodyさん03/12/19 19:03ID:???
>>578
ナウでヤングなwebサービスですよ
0580nobodyさん03/12/19 19:35ID:???
>>577
なぜ>>1に従わないのかわかりませぬ…
058157803/12/19 22:58ID:???
>>579
そんなことはきいちゃいねえ。
てか、こっちが言った内容は理解してんのか。
0582nobodyさん03/12/20 00:40ID:???
反抗期なんだろ
0583nobodyさん03/12/20 03:29ID:uPFsfUPg
チャットの発言ランキングを処理する部分なんですけど、
IMAGE SRC="1×1ドットの画像" width="発言回数" という感じでグラフを
表示したいのです。今の下の処理だと、発言回数が増えるたびに無限にグラフが
右へ伸びていってしまうので、1位を150ピクセルに固定して、あとは
1位に対する比率で表示させたいのですが・・・どういう処理を追加したらいいのでしょうか。
ご教授お願いします。
058458303/12/20 03:31ID:???
今のスクリプトです。

sub ranking {
open(IN,"$rankfile") || &error("Open Error : $rankfile");
@lines = <IN>;
close(IN);

print "<P>- 以下は $limit日以内の発言を対象としたランキング一覧です -<P>\n";
print "<table border=1 cellspacing=0>\n";
print "<tr><th>順位</th><th>おなまえ</th><th>発言回数</th><th width=\"150\">グラフ</th></tr>\n";

foreach $line (@lines) {
($name,$count,$times) = split(/<>/,$line);
$count{$name} = $count;
}

$rank1 = 0;
$rank2 = 1;
$count_tmp = 0;
foreach (sort { ($count{$b} <=> $count{$a}) || ($a cmp $b)} keys(%count)) {
($count{$_} == $count_tmp) || ($rank1 = $rank2);
print "<tr><td>No\.<b>$rank1</b></td><th>$_</th><th>$count{$_}</th><td><IMG SRC=\"log3.gif\" HEIGHT=\"15\" WIDTH=\"$count{$_}\"></td></tr>\n";
$count_tmp = $count{$_};
$rank2++;
}

print "</table><P>\n";
&footer;
exit;
}
0585nobodyさん03/12/20 05:50ID:???
$rank1 = 0;
$rank2 = 1;
$count_tmp = 0;
$count_max = 0;
foreach (sort { ($count{$b} <=> $count{$a}) || ($a cmp $b)} keys(%count)) {
 ($count{$_} == $count_tmp) || ($rank1 = $rank2);
 ($count{$_} > $count_max) && ($count_max = $count{$_});
 $width = $count{$_} / $count_max * 150;
 print "<tr><td>No\.<b>$rank1</b></td><th>$_</th><th>$count{$_}</th><td><IMG SRC=\"log3.gif\" HEIGHT=\"15\" WIDTH=\"$width\"></td></tr>\n";
 $count_tmp = $count{$_};
 $rank2++;
}
0586未承諾広告※ ◆aiY4htt2.2 03/12/20 09:16ID:???
表示しながらの最中にエラーが発生すると、ヘッダとかもいっしょに出力しちゃいそうですよね。
脳内でエラーが出ないことを前提にしているような。
メモリに溜め込むか一時ファイルにして、エラーがなければドバドバと表示させてあげた方がよいかと思うけれども。
0587nobodyさん03/12/20 13:27ID:???
>>856
チミはWWWサーバをもっと勉強するべし!
0588nobodyさん03/12/20 15:37ID:???
>>586
エラーメッセージごときに、そこまで気を遣ってわざわざメモリーに溜め込んで、負荷を増大させるメリットがわからん。
って、ロジック見直せ。
0589nobodyさん03/12/20 17:18ID:???
>>585
$width = int($count{$_} / $count_max * 150); にしたほうがよかった
0590nobodyさん03/12/20 17:34ID:???
番組で1について話したゾマホンです。
あのね、前はずっと1を見るといつも怒っていたけど、
やっとわかってきた、1は本当の犠牲者
なぜ犠牲者かというと、
1の親は自由というものを結構入れすぎるから
こういうパソコンとかがいっぱい与えた
1はパソコン好きでたまらなくて引きこもった
それはいけないことです。
それはごはん親が運ぶ、ダメです。
というのは親のせいだけじゃなくて
この社会のえらい人々アイティ革命のせいだと私は思う
こういう2ちゃんねるは100パーセント間違い
もっときれいなホムページをすすめたい
例えばヤフー、あるいは首相官邸、
ああいうページはたくさんある
あなたは1ヶ月で100万のスレ荒らす、それは怖いよ
荒らしをしてる、あなたは荒らしをしてる
それはね荒らしまでね人の名前を煽って
キショヲタで自分の部屋にひきこもって
臭いは本当にきれいな人間とは言えない、以上、変わってください
0591583-58403/12/21 01:14ID:???
>>585氏
>>589氏
早速のレス、ありがとうございます。
書き込みの通りスクリプトを書き換えてうpしたところ、
500エラーが出てしまいました。
うーん、どこがおかしかったんでしょうか・・・
0592nobodyさん03/12/21 01:23ID:???
>>591
コピペしたんじゃないのか?
全角スペースでインデントしてあるんだぞ
0593583-58403/12/21 01:38ID:???
自己レスになりますが・・・
あれから無事なんとか解決することが出来ました。
アドバイス、お礼申し上げます。
059459403/12/21 02:09ID:qIOjxN3h
http://php.s3.to/bbs/temp/ibbs.php?
↑の掲示板はアイコンを選択してメッセージを投稿するタイプなのですが
これをアイコンではなく投稿したメッセージ欄の
背景選択として設定したいのですがどのように変更したらよいでしょうか?
イメージ>http://www.maiko-ism.com/sample.jpg
PHPソース>http://www.maiko-ism.com/ibbs.txt
スキン>http://www.maiko-ism.com/skin_main.html

スクリプト配布元>http://php.s3.to/ レッツPHP!
0595nobodyさん03/12/21 13:34ID:???
>>594
HTMLが理解出来ているならば簡単ではないかい?
スキンタイプなんだし。
完成イメージを画像でなく自分でHTMLで組み立てられれば
簡単ではない?
0596nobodyさん03/12/21 18:10ID:vMd+LVbG
kent氏のフォームメール(http://www.kent-web.com/data/postmail.html)で改造がしたいのですが
ある項目に入力された情報を保存して次にその項目に同じ文字を入力したらエラーが出るようにしたいんですが
どこを改造すればいいでしょうか?
教えて下さいお願いします。
0597nobodyさん03/12/21 18:48ID:???
>>594
Iconディレクトリに背景画像を入れる。

HTML表示用アイコン一覧
$html_icon = array('randam'=>'ランダム','cat1.gif'=>'しろねこ' ・・・
  ↓
$html_icon = array('randam'=>'ランダム','bk00.jpg'=>'背景00' ・・・

ランダムの画像候補
$rand_icon = array('cat1.gif','dog1.gif' ・・・
  ↓
$rand_icon = array('bk00.jpg','bk01.jpg ・・・
0598nobodyさん03/12/21 18:56ID:???
>>594
skin_main.htmlスキンを使う場合

<!--{each oya}-->以下の
<!--{def oya/icon}--><img src="{$oya/icon}"><!--{/def}--> を削除。
及びそれぞれの<td>に background={$oya/icon} を足す。

<!--{each oya/res}-->以下の
<!--{def oya/res/icon}--><img src="{$oya/res/icon}" align=middle><!--{/def}-->を削除。
及びそれぞれの<td>に background={$oya/res/icon} を足す。

レス書き画面とかも同じ要領でやっていけばいい。
059959403/12/21 20:42ID:qIOjxN3h
>>595
>>597
>>598
指示通りにやったらできました。
どうもありがとうございました。
060059603/12/22 00:42ID:???
誰も答えてくれなさそうだったので、カウンタのIPチェックを参考にコピペで作ってしまいました。
スレ汚しスマソ
0601nobodyさん03/12/22 04:12ID:???
>>600
>1を読んでなさそうな香具師は放置だぎゃー
0602nobodyさん03/12/22 16:14ID:???
うん、その通り
0603nobodyさん03/12/22 19:53ID:???
MT-BOARD ver0.5 betaという2ch風cgi(例えばttp://cgi1.biwa.ne.jp/~platz/bbsa/mag/)
でクッキー保存されないのですが、ここでJavaScriptを使ってクッキーを保存するにはどうしたらいいんですかね?
0604nobodyさん03/12/23 01:57ID:???
>>603
アフォか。
まず、>>1読め。
「ベースがKENT」って時点でソース読む気がないんだが……。
クッキーが保存できないようなタコなスクリプトなんぞ使うな。
しかもそれを余計に面倒くさいJavaScriptでの保存なんか考えるな。
0605nobodyさん03/12/23 04:55ID:???
うん、その通り 
0606nobodyさん03/12/23 12:04ID:???
>>604
HTML表示だからJavaScriptしか保存はできないだろうが
060760403/12/23 14:40ID:???
>>606
いや、だからソースは読んでないって。
読む気もないって。
0608nobodyさん03/12/23 15:33ID:???
>>606
アホですか?
0609nobodyさん03/12/24 13:05ID:???
>>604
> 「ベースがKENT」って時点でソース読む気がないんだが……。
それはお前の都合じゃないのか?
0610nobodyさん03/12/24 15:16ID:???
>>609
俺はKENTのソース見たこと無い。
っつーか見る木にもならない。
0611nobodyさん03/12/24 21:29ID:dajCswi4
教えて頂きたいのですけども,
tackyさんの掲示板、えれべーたぁ(http://tackysroom.com/cgi_updown.htm)を、
2chのように記事のタイトルを上部に表示させるように改造するには
どうしたらよいでしょう。何卒宜しくお願い致します。
0612nobodyさん03/12/24 23:40ID:???
>>603

http://member.nifty.ne.jp/marsh/misya/java/parts/cookie1.html
http://useyan.pupu.jp/s/javas/java/aer_087.htm

JavaScriptでのクッキー保存の方法ね。
このへん読みながら工夫するといいかも。
0613nobodyさん03/12/25 01:46ID:???
オッス、オラ悟空。
オラの一日はまず、界王様のキスで起こされるんだ。そして、天津飯とヤムチャが二人がかりでオラをかつぎ上げ便所へ。
次は朝飯だ。兎人参家がもう用意している。グルドが助手だ。なぜかメイド服を着ているんだ。
オラおどれえたぞ。そんなにオラに気に入られたいのか?喉が渇いたんでサイバイマンの溶解液でも飲むか。
サイバイマンが頭をオラの口へ持って来るんだ。…まじい、飲めたもんじゃねえぞ!オラ、サイバイマンの頭をふっとばしちまったぞ!
歯はグルドに磨いてもらって、うがい用の超神水はカリン様が口移しなんだ。
んじゃ、ここも飽きたしオラもう一つの家へ行くぞ!って言ったら、皆ウルウルと目に涙浮かべながら
グルド「行かないで…」天津飯「行かないで…」ヤムチャ「行tyrくっで…」
ヤムチャだけ噛んじまったぞ!こんなやつらさっさと置いといて家を出ちまったんだ。
家の前には筋斗雲があって、運転手は8ちゃんだ。もう一つの家は瞬間移動で行けるけど、オラ気を使いたくねえぞ。
オラ、第二の我が家へ着いたんだ。出迎えは裸エプロンの牛魔王だ。それにしてもエロい体だぞー。
他の奴らも奥にいるんだ。そろそろ一発抜きたくなっちまったんでオラベッドに大の字になって皆を呼んだんだ。
右の乳首をメイド服のグルドが舐めて、左乳首をYシャツ一枚のナッパが舐めるんだ。右の腋や耳をダーブラが責めてきて、
左の腋や耳を第2形態のセルが責めてくるんだ。オラの両手はグルド、天津飯、ナッパ、ダーブラのちんちんを手コキだ。
オラ忙しいぞ!左足を牛魔王、右足をコルド大王が、おっぱいマンコで一生懸命さわさわだ。牛魔王は裸エプロンのままだ。
チャパ王はなぜか体操着ルーズソックスに着替えてきちまったんだ。ブルマは穿いてねえ。下半身丸出しだ。
それにしても幼児体型だぞー。シンバルのパイパンマンコはオラの顔へ持ってきてクンニだ。スポポビッチがアナルや玉袋を舐めるぞ。
そして16号の登場だ。騎乗位でオラに跨ってきたぞ。笑顔のくせに爆弾は原爆級じゃねえか。オラびっくりしたぞ!
牛魔王、セル、コルド、シンバル、チャパ王、16号がオラを責め立てるから、オラ超サイヤ人4になっちまったぞ… 
いっつもの日課の修行が終わって、だりぃけどオラが居ないと宇宙が傾いちまうからここで元気玉打つぞ。これがオラの一日だ。
絶対見てくれよな!
■ このスレッドは過去ログ倉庫に格納されています