トップページphp
1001コメント413KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001nobodyさん02/08/01 18:19ID:???

#================================
# スレッドの説明
#================================

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

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

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

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

#================================
# 過去のスレッド
#================================

【PART1】行方不明
【PART2】http://pc.2ch.net/test/read.cgi/perl/986986227/
【PART3】http://pc.2ch.net/php/kako/988/988808396.html (HTML化済み)
0081nobodyさん02/08/23 00:43ID:???
>>79
http://pc.2ch.net/test/read.cgi/php/1028052835/l50
00827702/08/23 01:46ID:BkAaZ1YH
>>80
ありがとうございました。
なんとか出来たようです。
行番号がずれてたみたいで折角ヒント頂いたのに
生かせなくてもうしわけありません、78さん。
この辺もいじってたんですがいじりが足りなかったようですね(^^;

本当にありがとうございました〜
0083nobodyさん02/08/28 07:34ID:O4565eSf
http://sound.jp/idm/sch003.txt

↑なんですが、置いてるサーバがアメリカのせいで、
日付が狂ってしまいます。日本時間に直すにはどこを
どういじったらいいんでしょうか。
いろいろ見てみたんですが、わかりませんでした。。
よろしくお願いします。。
00843PIO ◆3pIoOHKo 02/08/28 09:29ID:???
上のほうに
$ENV{'TZ'} = 'JST-9';
を書き加えてみたら?
0085nobodyさん02/08/28 14:55ID:???
#---- 現在日付 ----#
の下に加えたらいいよ
00868302/08/28 18:26ID:O4565eSf
>>84 >>85

できますた!ありがとうございますた!
たった一行の追加でOKだったなんて、、、。
ほかにもいろいろ時間の狂ったCGIが置いてあるので
これから片っ端から試してみます。おかげさまで
これでやっと日本時間に日記更新できます(;´3`)
0087nobodyさん02/08/30 01:08ID:???
2ちゃんに自動書き込みのできるスクリプト探してます。
0088nobodyさん02/08/30 02:05ID:RXFLyC5C
以下のようなホームページ上から、感想などを送ってもらうsendmailを利用した
プログラムなんですが、簡単な素材などを提供して貰う為、
ファイルも添付できるように改造したいです。どうすればいいでしょうか?

------------------------------------------------------------------

@pairs = split(/&/,$buffer);
foreach $pair (@pairs) {

($name,$value) = split(/=/,$pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
$name =~ tr/+/ /;
$name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;

&jcode'convert(*name,'sjis');
&jcode'convert(*value,'sjis');

if ($name eq 'to') { $to = $value; }
if ($name eq 'from') { $from = $value; }
if ($name eq 'subject') { $subject = $value; }
if ($name eq 'body') { $body = $value; }

}

008988の続き02/08/30 02:05ID:RXFLyC5C
# cheack
if ($from eq "") { $from = "unknown\@."; }
if ($from eq " ") { $from = "unknown\@."; }


# send mail
&jcode'convert(*from,'jis');
&jcode'convert(*subject,'jis');
&jcode'convert(*body,'jis');
if (!(open(MAIL,"| $sendmail -t"))) { &error('システムエラー','メールの送信に失敗しました。'); }
print MAIL "To: $to\n";
print MAIL "From: $from\n";
print MAIL "Subject: $subject\n";
print MAIL "Content-Type: text/plain; charset=iso-2022-jp\n";
print MAIL "$body\n";
close(MAIL);

# view html
&jcode'convert(*from,'sjis');
&jcode'convert(*subject,'sjis');
&jcode'convert(*body,'sjis');
$body =~ s/\r\n/\r/g;
$body =~ s/\n/\r/g;
$body =~ s/\r/<BR>/g;
0090nobodyさん02/08/30 02:08ID:???
既存のファイルも添付できるのを使え。
0091sage02/08/30 02:12ID:???
>>88
mime
0092nobodyさん02/08/30 17:28ID:eOo55UHJ
すみません。
KENT-WEB(http://www.kent-web.com/の)YY-BOARDを使っているのですが、
アイコンの選択のところで、ランダムを選択してアイコンをランダムに表示するには
どうすればいいのでしょうか?
くだらない質問かもしれませんが、よろしくお願いします。
0093ビギナー02/08/30 18:48ID:???
>>92
ごめん、やりたいことの意味がよく把握できないので、とんちんかんな返事かも?
とりあえず、お書きだったリンクから 'YYBBS v4.6' を入手してテストしてみました。

前準備:
rand.gif という名前でアイコンを作って img/ の中へ入れておきます。

スクリプト修正:
85行目当たりの…

  # アイコンを定義(上下は必ずペアで)
  @icon1 = ('bear.gif','cat.gif','cow.gif','dog.gif','fox.gif','hituji.gif',
    'monkey.gif','zou.gif','mouse.gif','panda.gif','pig.gif','usagi.gif');
  @icon2 = ('くま','ねこ','うし','いぬ','きつね','ひつじ',
    'さる','ぞう','ねずみ','パンダ','ぶた','うさぎ');

…に、【ランダム】の項目を付け足すために ↓ のように書き足します。
  −−(改行が多すぎますって怒られて書けないので) 続きは次へ−−
0094ビギナー02/08/30 18:49ID:???
  # アイコンを定義(上下は必ずペアで)
  @icon1 = ('bear.gif','cat.gif','cow.gif','dog.gif','fox.gif','hituji.gif',
    'monkey.gif','zou.gif','mouse.gif','panda.gif','pig.gif','usagi.gif','rand.gif');
  @icon2 = ('くま','ねこ','うし','いぬ','きつね','ひつじ',
    'さる','ぞう','ねずみ','パンダ','ぶた','うさぎ','ランダム');


1429行目当たりの…
  # 管理アイコンのチェック
  if ($my_icon && $in{'icon'} eq $my_gif) {
    if ($in{'pwd'} ne $pass) { &error("管理用アイコンは管理者専用です"); }
  }

…の下にでも ↓ を書き足します。
  if( $in{'icon'} eq 'rand.gif' ){
    $in{'icon'} = $icon1[ int( rand( $#icon1 ) ) ];
  }

十分なテストを行ったわけではありませんから動作は未保証です、すみません。
http://you.s16.xrea.com/b/
へ置いてみましたので、チェックしてみてくださいネ。
00959202/08/30 21:03ID:eOo55UHJ
>>93>>94
できました!ありがとうございます!
欲を言えば、クッキーにランダムを覚えさせておきたいんですが…
クッキーの発行辺りをいじればよさそうなんですが、書き方が分からないもので。
それと、rand.gifを用意するということは、ランダム表示の際に、rand.gifが表示されることもあるのでしょうか?
質問続きですみません。
0096ビギナー02/08/30 21:19ID:???
92さん、ご報告、ありがとうございました。
無事に動きましたか、良かったです。 これからも改造、頑張ってくださいね。

> それと、rand.gifを用意するということは、ランダム表示の際に、
> rand.gifが表示されることもあるのでしょうか?
いえ、rand.gif は表示されませんが、ダミーとして入れておかないと、
【画像イメージ参照】をクリックした時に ×印(画像が無いって意味)が表示されて
エレガントじゃ無いですから、その対処として、rand.gif を入れてあるだけです。

> 欲を言えば、クッキーにランダムを覚えさせておきたいんですが…
はい、対応できるように考えてみます。
でも、今からちょっと仮眠タイムですので、明日になっても良いですか? ごめんね。
それでは、また明日にでも…。 (って、どなたかが対応してくだされば嬉しいのですが。)
00979202/08/30 21:30ID:???
>>96
rand.gifは表示されないんですね。分かりました。
クッキーの件については、
お忙しい中、申し訳ありませんがよろしくお願いします。

もう少し勉強せねば…
0098ビギナー02/08/31 06:16ID:???
う〜ん、う〜ん、思ってた以上に難しくって、、、92さん、すみません。
なんとかクッキ対応にしたかったのですが、私のチカラ不足です。
とりあえずのサンプル と 説明は → http://you.s16.xrea.com/b2/

と、いう訳なので、どなたかにバトンタッチ! お願いします。
00999202/08/31 09:21ID:???
>>98
とんでもないです。朝早くからわざわざページまで作ってくださって
感謝感謝です。
自分の思ってたほど処理が簡単じゃなかったんですね。
この機能はあったら便利だけど、なくて困るようなものじゃないので…
しばらくこのままで使ってみます。

ほんとにありがとうございました。
0100ビギナー02/08/31 12:26ID:???
100ゲト!
>>99
92さん、レスをありがと!
お役にたてなくて & 中途半端にしゃしゃり出て すみませんでした。
私も今後、精進に励みますので、どうかご勘弁ください。

ここはこーだろ? って、どなたかが教えてくださればありがたいのですが…。
どうぞよろしくお願いします> 分かるかた
0101nobodyさん02/08/31 12:31ID:???
>100ゲト!















( ´,_ゝ`) プッ
0102nobodyさん02/08/31 13:39ID:???
ッチモニ。
0103nobodyさん02/08/31 14:37ID:???
>>100
クッキーにはそのまま$in{icon} = rand.gifで記憶させとけ。いじる必要無し。
変なとこで変換しないで書き込む直前でのみ変換させれ。
具体的には

sub regist{


# パスワードを暗号化
if ($in{'pwd'} ne "") { $ango = &encrypt($in{'pwd'}); }

の下辺りに

$in{'icon'} = $icon1[int(rand( $#icon1))] if($in{'icon'} eq 'rand.gif');

を置けば事は済むだろ。試しとらんけど。
0104nobodyさん02/08/31 17:18ID:???
>>102
おいおい、ッ が余計だろ
0105ビギナー02/08/31 21:43ID:???
>103
どうもありがとうございます、試してみます。
0106ビギナー02/08/31 22:03ID:???
100さんへ
早速、試してみましたが、うまく動きません。 残念です。
投稿、返信、と移ったときにはクッキは効いてますが
返信、投稿、と戻った時にはクッキが【ランダム】では無くなります。
それと、表示されちゃ困る rand.gif が表示されちゃいます。
テスト結果は → http://you.s16.xrea.com/b2/yybbs.cgi でした。
0107nobodyさん02/09/01 00:23ID:???
>>ビギナー
ならこうしてみ。試したら出来た。

# パスワードを暗号化
if ($in{'pwd'} ne "") { $ango = &encrypt($in{'pwd'}); }

if($in{'icon'} eq 'rand.gif'){
$rand_icon = 1;#フラグを立てる
$in{'icon'} = $icon1[int(rand( $#icon1))];
}else{$rand_icon = 0;}




書き込み処理




if($rand_icon){$in{icon} = 'rand.gif';}#書き込み終わったので戻す

# ロック解除
if ($lockkey) { &unlock; }
01089202/09/01 00:57ID:???
>>107
92ですが、107さんのようにすればできました。
ビギナーさん、103さん、107さん、ありがとうございました!
あと、rand.gifを表示しないようにするには、アイコンの定義のところで

@icon1 = ('bear.gif','cat.gif','cow.gif','dog.gif','fox.gif','hituji.gif',
    'monkey.gif','zou.gif','mouse.gif','panda.gif','pig.gif','usagi.gif','rand.gif');
@icon2 = ('くま','ねこ','うし','いぬ','きつね','ひつじ',
    'さる','ぞう','ねずみ','パンダ','ぶた','うさぎ','ランダム');

#rand.gifを除く
@icon3 = ('bear.gif','cat.gif','cow.gif','dog.gif','fox.gif','hituji.gif',
    'monkey.gif','zou.gif','mouse.gif','panda.gif','pig.gif','usagi.gif');

という風に、icon3を付け加えて、ランダム処理の記述を

$in{'icon'} = $icon1[int(rand( $#icon3))];

にすればrand.gifは表示されなくなりました。(多分)
合ってるかどうか分かりませんが、とりあえず問題なく動いてます。


0109ビギナー02/09/01 01:51ID:???
107さん、 92さん、ありがとうございました。
順を追って試してみたのですが…。

う〜ん、やっぱり rand.gif が表示されちゃいます
投稿、返信、修正、とやってるうちで クッキの件は解決されましたが
rand.gif が表示されちゃう件は未解決です
修正で【ランダム】を選択すると ↑ の現象が起こります
0110 ◆DYeooZwg 02/09/02 22:41ID:QqVcQsGu
自分が去年書いたコードでは、
unshift (@icon1,"rand.gif");
unshift (@icon2,"ランダム");

foreach(0 .. $#icon1) {
前に加えて

sub regist{
# パスワードを暗号化
if ($in{'pwd'} ne "") { $ango = &encrypt($in{'pwd'}); }
の下辺りに

if ($in{'icon'} eq 'rand.gif'){
# アイコンにランダムが選択されたときの処理
$in{'icon'} = "$icon1[int(rand($#icon1))]";
}
という風にやっています。

もっと、うまい方法があるだろうけど、
これによって、ランダムを選択したときrand.gifが表示される事は無いと思う。
0111nobodyさん02/09/03 00:15ID:???
まずは、99行目の# アイコンモード
の下に
# ランダムアイコンモード (0=no 1=yes)
$rand_icon = 1;
と付け加えてください

357行目と745行目に# 管理者アイコンを配列に付加
とあるので、その上に
 # アイコンをランダムにする配列を付加
 if ($rand_icon) {
  unshift(@icon1,"random");
  unshift(@icon2,"ランダム");
 }
と付け加えてください
 
541行目に# クッキーを発行
とあるので、
 # ランダムアイコンかチェック
 if ($in{'icon'} eq "random") {
 srand;
 $r_icon = int(rand(scalar @icon1));
 $in{'icon'} = $icon1[$r_icon];
  }
こんなの拾った。試してはないけど
0112_02/09/03 14:27ID:???
前記のビギナーですが、、、110さん、111さん、どうもありがとう。
教えていただいた方法を今度、試してみます。
0113きつね02/09/07 21:29ID:ePdmblI2
17氏スクリプトの改造なんですけど
スレッドを立てた1だけのリモホを、表示させるには
どうすれば良いの??

↓書き込みスクリプト
http://band.lib.net/2ch/bbs.txt
0114nobodyさん02/09/07 22:04ID:???
ちっとは自分で試行錯誤してから
質問しろやボケ
0115nobodyさん02/09/08 18:01ID:x3j5SYvz
>>113 同さ未確認ですが何か?
288行目に追加
$threadtate_ip = $ENV{'REMOTE_HOST'};

897行目を変更
print OUT "$FORM{'FROM'}<>$FORM{'mail'}<>$DATE $threadtate_ip <> $FORM{'MESSAGE'} <>$FORM{'subject'}\n";
0116きつね02/09/08 20:11ID:zO9UXU5c
>>114
ここは殺伐としたインターネットですね

>>115
ありがとうございます、早速やってみます。
0117きつね02/09/09 12:30ID:YPMaGOW6
サーバーエラーになっちゃった
print OUT "$FORM{'FROM'}<>$FORM{'mail'}<>$DATE<> $threadtate_ip <> $FORM{'MESSAGE'} <>$FORM{'subject'}\n";
にしても、エラー

http://band.lib.net/2ch/16a.zip
0118nobodyさん02/09/09 13:25ID:???
>>117
$threadtate_ipの宣言と受け渡ししてないだろ。
よくわからないなら3行目の use strict; は消しとけ。そうすりゃ
いつでもどこでも勝手に変数使えるから。
0119nobodyさん02/09/09 23:58ID:5bzF4wXy
>>117
どうしてサーバエラーになるのかくらい調べなさい。
0120nobodyさん02/09/10 12:35ID:???
少しは自分の脳みそ使えやボケ
0121名無し02/09/12 14:40ID:cLzEmwaR
KENT-WEB(http://www.kent-web.com/の)YY-BOARDの改造について質問なのですが
記事に返信する場合に、記事を上に上げるか上げないかは初期設定で行うようになっているのですが、
それをネット上で実際に返信する人が選べるようにしたいのですが、そういう設定にするにはどうしたら良いのでしょうか?
0122nobodyさん02/09/12 15:19ID:???
>>121
上げたくないときは、メール欄にsageと書くのじゃ
0123nobodyさん02/09/12 15:22ID:???
結構簡単そうなんだけどな。
0124nobodyさん02/09/12 15:45ID:???
>>121

103行目の $topsort を削除する

# 返信がつくと親記事をトップへ移動 (0=no 1=yes)
# $topsort = 1;


ログ書き込み処理のとこを変更
593行目

# レス記事の場合:トップソートあり
elsif ($in{'reno'} && $in{'topsort'} eq "age") {


返信フォームのとこにソートするかしないか追加(とりあえず730行目あたりにでも)

<tr>
  <td nowrap><b>URL</b></td>
  <td><input type=text name=url value="http://$c_url" size=$url_wid></td>
</tr>
<tr>
  <td nowrap><b>ソ\ート</b></td>
  <td>
  <select name=topsort>
    <option value="age">スレッドをあげる</option>
    <option value="sage">スレッドをあげない</option>
  </select>
  </td>
</tr>
EOM
012512202/09/12 15:50ID:fqwY/73y
ラジオボタンなら
<INPUT type=radio name=topsort value=1 checked>age
<INPUT type=radio name=topsort value=0>sage
とか
012612202/09/12 15:54ID:CWF7GrNv
>>125の場合は
eq "age"
は要らないです
012712102/09/12 17:36ID:ZMgsQhUH
みなさんどうもありがとうございます。
早速やってみたのですが、一回目は失敗しました。
もう一度やってみます。
できたら報告します。
012812102/09/12 17:40ID:ZMgsQhUH
それとちょっとお聞きしたいのですが、
ディフォルトが記事を上げない設定で
チェックを入れたときだけ記事を上げる設定にする場合が
一番良いのでその記述方法を可能でしたら教えて下さいませ。
厚かましくて申し訳ありません。
0129122じゃないけど02/09/12 17:43ID:FUZonuZ5
<input type="checkbox" name="topsort" value="1">あげる
0130nobodyさん02/09/13 01:22ID:lofLfMBW
私も、KENT氏のMT-BOARDの改造についての質問なのですが。
改造したい部分は、メール欄に書き込んだ時に表示色を
変えたいのですが他のスクリプトと見比べてもわかりませんでした・・・
どなたかご教示下さい。お願いします。
01313PIO ◆3pIoOHKo 02/09/13 22:28ID:oB59gluG
>>130
つーかHTMLの改造で簡単に済むかと思われ
この板で聞く質問ではない。
0132nobodyさん02/09/13 22:43ID:???
>>130
「何の」表示色よ?本文?画面全体?
つーかMT-BOARDってどこにあんのよ。
KENTのサイト探してそのスクリプト探して該当部分探して答え教えろと?
0133nobodyさん02/09/14 02:37ID:8wcKLn20
http://www.big.or.jp/~talk/t-club/soft/index.html
ここにある画像アップロード掲示板を
http://fafa.page.ne.jp/bbslog/imgboard.cgi
ここのように2chみたいにして貰えませんか?
01343PIO ◆3pIoOHKo 02/09/14 21:13ID:???
>>133
大改造が必要です。
自分で改造してください。
01353PIO ◆3pIoOHKo 02/09/14 21:16ID:???
>>130
MT-BOARDって書籍収録でしょ?
スクリプトが簡単に手に入らないのにどうやって改造するのさ
013613002/09/15 01:19ID:???
スクリプト見直し解決しました。
アホな質問してすみませんでした。
0137sage02/09/15 09:18ID:09FtfTkD
ブラクラを防止する方法
結構役に立つ
Enter押して個人情報防止+ブラアクラ防止のテクに行く

http://kobe.cool.ne.jp/sowin/
0138age02/09/15 12:57ID:???
<age>-><sage>
0139長くてごめんなさい02/09/21 02:44ID:TAvfXYri
KENTさんの所のアンケート(投票)のスクリプトです。
http://www.kent-web.com/data/enq.html?
inputボタンの文字のサイズを10pxにしたいのですが、全然できません。
普通に<head>で始まってるものならできるけれど
これの「enq.cgi」だと「&header」とか「print」とかわからないのばかりで
どこにどう書いたらいいのか・・・。
色々試したけれど、ダメでした。

あともう一つ。連続投票をすると「ERROR!」と出るページがあるんですが
その文字のスタイルも変えたいです。
これは「&error」というのをどうにかするのでしょうか?
どうか教えてください!お願いします。
0140nobodyさん02/09/21 02:48ID:???
>>139
>>1
>(1) そのスクリプトの内容と置いてある場所を明記する (txtファイルでUPすればなお良い)
いちいちDLしてくれる人は少ないぞ、と。
0141nobodyさん02/09/21 02:51ID:???
>>139
ソースを「HTMLヘッダ」で検索した先にHEAD要素の出力があります。
後は御自由に。
014213902/09/21 03:43ID:???
140&141さん、こんな時間にありがとうございます。
で・・・でき・・・できました!大感謝です。嬉しいよー
0143nobodyさん02/09/22 23:11ID:UOCwN/Ov
http://www.kentweb.jp/
の掲示板のYY-BOARDで半角カタカナを使用できるようにしたいんですけど、
どこをどのように改造すればいいでしょうか?
よろしくおねがいします。
0144nobodyさん02/09/23 02:41ID:???
>>143
# 文字コードをシフトJIS変換
&jcode'convert(*value, "sjis", "", "z");

&jcode'convert(*value, "sjis", "", "");
014514302/09/23 03:01ID:???
>>144
修正したけど無理でした‥
なぜですか?
0146nobodyさん02/09/23 04:43ID:???
# 文字コードをシフトJIS変換
&jcode'convert(*value, "sjis", "", "z");

&jcode'convert(*value, "sjis");
0147nobodyさん02/09/23 06:01ID:???
>>143
jcode.plじゃ入力文字コードも指定しないと無理。
jcodeg.plを拾ってきて使うか自前でコード判別して
&jcode'convert(*value, 'sjis',"$判別した入力コード");
とするか。
014814302/09/23 06:14ID:???
(ノ゚ο゚)ノ オオオオォォォォォォ-
できました!!!
>>147さん
こんな朝っぱらから初歩的な質問に答えていただきありがとうございます!!!!!
感謝感激雨あられ
0149nobodyさん02/09/23 15:46ID:???
レッツPHPのスクリプトの改造で悩んでいます。
同一ホストからの連続投稿に時間制限を設けたいのですが(例えば一度書き込んだら
その後30分は書き込みできないようにする)、どこに何を書き込めば解決するでしょうか。
ソースは下記のものになります。
ちなみにPHPのバージョンは4.2です。

http://php.s3.to/simple/#short
0150さやか02/09/23 22:10ID:UR9fVmIX
http://dream.lib.net/room/cgi/e_ps.html
↑このパワーサーチという検索エンジンを改造したいです!
後から登録したサイトが上位に表示されるのを
下に表示したいです!seek(ファイルハンドル,0,0)
を変えてもファイルの末尾に書き込んでくれません。
リンクを書き込むファイルlink.datを先頭からではなく
後ろに追加していくにはどうしたらいいでしょう?
ps_user.cgiがネックだと思うんですが・・・。正直誰かに助けられたい。
依存心なさやかです。
0151age02/09/23 22:39ID:???
>>150
ソース見てないけど、seek(ファイルハンドル,0,0)ってのは、
書き込み位置をファイルの先頭にもって行ってるんだ。
だから後ろに書き込むには、そいつをカットしちゃえばいい。
0152心優しきもの02/09/23 22:40ID:UR9fVmIX
>>150 のさやかさんが困ってるみたいですよ〜。
  さやかさんは、ファイルに書き込む時にポインタを先頭に
  あわせる、すると表示される時に後から登録したやつが
  上に表示されるのがいやらしいです。助けてあげようよ〜。
0153nobodyさん02/09/23 22:40ID:???
>>150
ps_admin.cgiの251行目と252行目を入れ替えれば良いんじゃない?
0154むこうの 32302/09/23 22:42ID:???
>>150
>> むこうの 325
> seek(ファイルハンドル,0,0)
> これを0→2にしてもだめだったです

その直前の truncate(IO,0) が何をしてるか理解してる?
それが分かれば seek(IO,0,0) を seek(IO,0,2) にしても
無駄だと分かる筈だよ。

> 登録するときにlinkdata.dat に書き込みますよね

というのが分かっているなら、
linkdata.dat に何を書き込んでいるかを調べるべきだ。

612: seek(IO,0,0);
613: print IO @site;
614: close(IO);

ココだよね? では @site の中身はどこで作られている?

>>152
最後まで付き合うからそういうのはやめようね。
0155nobodyさん02/09/23 22:43ID:???
>>152
IDって知ってる?書き込み時刻の後ろについてるの。
困ってるのはわかるけど自作自演は止めよう。
0156__02/09/23 22:45ID:???
609行目のunshiftをpushにするだけじゃないのか

面倒なんで余り見てないが
015715602/09/23 22:49ID:???
書き忘れたが、admsg.datには今まで通り書き込まれます
これも追加如に下段に追加するなら、pushに
0158さやか02/09/23 23:05ID:UR9fVmIX
すごい!できました!>>156さん!!!嬉しいです。
私も勉強してがんばります!>>156さん!ささやかなお礼です↓






               (*´∀`*)(*^ε^*)チュ♪
0159nobodyさん02/09/23 23:32ID:???
なんというか・・・、ポカーン(゚Д゚)
0160nobodyさん02/09/24 05:49ID:???
―終了―
―再開―
0161nobodyさん02/09/24 19:38ID:MoAiFp7K
up
016202/09/25 02:37ID:g2jBFaOv

http://php.s3.to/online.phps

上はオンライン中の人数をカウントするphp scriptなんですけど
これにUSER AGENTもチェックする処理を追加させたいです。
phpのスキルある方知恵を貸して下さい、お願いしますm(__)m
0163nobodyさん02/09/25 08:29ID:zk1fSPH/
>>162
カウントするだけならIPだけで十分だと思うけど。
016402/09/25 13:02ID:+7v9yKyM
163さんレスありがとです。

PCサイトならIPだけで充分なんですけど、
自分のサイトは携帯からのアクセスがあるのでUAもチェックさせないと
うまくカウントしてくれないと思うんです。
それでも携帯だと来た人が違くてもIPとUAが一緒だとカウント
してくれないですけど、それはしょうがないので我慢します。
UAチェックのscript改造お願いしますm(_ _)m
0165nobodyさん02/09/26 06:17ID:???
>>162
携帯だとアクセスの度にIPアドレスが違うけどいいの?
016602/09/26 08:19ID:kOBv48Nd
>>165さん
はい、構わないです。
IPとUA両方をチェックさせたほうがIPだけよりかは
まだ正確ではないですけど携帯ユーザーの実際のオンラインの
数に近くなると思うので是非お願いしますm(_ _)m
0167toy02/09/26 11:51ID:dWI3M7rO
ttp://ugug.virtualave.net/uub/board.cgi(認証:1234)
ここにあるCGIの板を下記のようにして欲しいのですが良かったら
どなたかアドバイスお願いします。

http://snow.prohosting.com/kvvwpyt/test.html
お礼数の追加。カウントさせる。
http://snow.prohosting.com/kvvwpyt/test2.htm
お礼するにチェックをするとカウントさせる。

ソースのDL場所は、
ttp://ugug.virtualave.net/uub/readme.html#source
です。お願いします。
0168nobodyさん02/09/26 13:15ID:???
犯罪者は部落から出て来るなよ
臭いんだよ
0169nobodyさん02/09/27 12:09ID:???
>>167
僕の犯罪のお手伝いをして貰えませんか?
ってことでしょうか?
0170nobodyさん02/09/27 22:14ID:Oi5LYf+X
http://sound.jp/idm/cabinet.txt

のsub find実行時に件数を一気にださないで
数件ずつ表示するようにしたいんですが、
どうしたらいいでしょうか。

sub view実行時には件数を限定できるんですが、その部分を
コピって$pfind = 7;みたいな変数を作って$pviewの部分を
書き直してもムリでした。

よろしくお願いします。
0171nobodyさん02/09/27 22:32ID:???
>>170
テキトーだけどこんな感じ

# 結果を表示
$i++;



# 結果を表示
$i++;
next if($i < $in{gaisyutu});
if($i > 数件){
print "<a href="URL?gaisyutu=$i&検索条件色々">次</a>"
last;
}
0172nobodyさん02/09/27 22:35ID:???
訂正
×if($i > 数件){
○if($i > 数件+$in{gaisyutu}){

017317202/09/27 22:48ID:???
>>172
即レスありがとうございます。
>>171の方で試してみたんですが、だめでした。。

sub find 時にどういう変数が引き渡されてるか分からないので、
sub view時の

if ($i == 0) { print "<DT><該当する登録内容はありません>\n"; }
else {
$next = $page + $pview;
$back = $page - $pview;
print "<table><tr>\n";
if ($back >= 0) {
print "<td><form action=\"$script\" method=\"POST\">\n";
print "<input type=hidden name=mode value=\"view\">\n";
print "<input type=hidden name=area value=\"$in{'area'}\">\n";
print "<input type=hidden name=cate value=\"$in{'cate'}\">\n";
print "<input type=hidden name=page value=\"$back\">\n";
print "<input type=submit value=\"前の$pview件\"></td></form>\n";
}
if ($next < $i) {
print "<td><form action=\"$script\" method=\"POST\">\n";
print "<input type=hidden name=mode value=\"view\">\n";
print "<input type=hidden name=area value=\"$in{'area'}\">\n";
print "<input type=hidden name=cate value=\"$in{'cate'}\">\n";
print "<input type=hidden name=page value=\"$next\">\n";
print "<input type=submit value=\"次の$pview

の部分に何を入れたらいいのか分かりません。

つづく
0174nobodyさん02/09/27 22:50ID:???
訂正
×print "<a href="URL?gaisyutu=$i&検索条件色々">次</a>"
○print qq(<a href="URL?gaisyutu=$i&検索条件色々">次</a>");

ザルだな俺
017517002/09/27 22:52ID:???
すいません、私は>>170でした。

ちなみにサンプルは
ttp://www.kent-web.com/pubc/cabinet/cabinet.cgi
です。

つづき
sub viewのときは条件が単一なので、
(mode=view&area=0&cate=2のような感じで)
次何件というのが表示できるのは分かるんですが、

上記コピペのmode=viewをmode=find,に下場合、
複数条件を指定したときにどういう風な形で
変数が渡されるのかが分かりません。

てんぱってるので変な文章ですいません、、。
よろしくお願いします。
0176nobodyさん02/09/27 22:54ID:???
sub findはviewを通らずにexitしてるが。
017717002/09/27 22:55ID:???
>>174

ありがとうございます。
厨質問ですいませんが、gaishutuっていうのはそのままでいいんですか?
それともこちらの環境に合わせて何か書き直さないといけないんでしょうか?

また>>175に書いたとおり、
”検索条件色々”の際に渡される変数の形が分からずに困っております。

何度もすいません。。よろしくお願いします。。
0178nobodyさん02/09/27 23:05ID:???
gaisyutuはそのままでも何でもいいよ。
検索条件はこんな感じかなぁ。

$in{'word'} =~ s/([\W])/sprintf("%%%02X",unpack("C",$1))/ge;
print qq(<a href="URL?gaisyutu=$i&area=$in{'area'}&cate=$in{'cate'}&word=$in{'word'}">次</a>);
017917002/09/28 01:18ID:???
すいません、レスありがとうございます。
出先だったので今から試してみます。
ほんとに、助かります。
ありがとうございます。

018017002/09/28 01:42ID:???
>>178
うーん、せっかく書いていただいたのに、だめっぽいです。。
単一条件指定のときにはうまくいくんですが、 area,cateを複数指定すると、
area,cateそれぞれ1つ目の 条件以外が無視されてしまいます。。
>>176
ややこしい書き方ですいません。
>>173のはsub view時のものをsub findのところに
コピったということです。検索結果処理の前に
# 検索情報を整理
@fa = split(/\0/, $in{'area'});
@fc = split(/\0/, $in{'cate'});
$in{'word'} =~ s/ / /g; @wd = split(/\s+/, $in{'word'});
という処理をしてるので
mode=find&area=@fa&cate=@fc&next=$page
みたいな感じだとは思うんですが、変数が2つ以上渡された時、
URL的には どうなっているんでしょうか?
例えば、$pageが9で、areaが1と2,cateが1と3見たいな時は
mode=find&area=1,2&cate=1,3&next=9
みたいな感じなんでしょうか。
■ このスレッドは過去ログ倉庫に格納されています