トップページ⇒php
821コメント330KB

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

■ このスレッドは過去ログ倉庫に格納されています
0001103/03/16 18:28ID:vOOsWTxU
#================================
# スレッドの説明
#================================

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

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

(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化済み)
00838103/03/27 14:28ID:???
>>82
ソースざっと見だけど
elsif($HostName =~ /pdx\.ne\.jp/){

ぐらいでなんとかんない?
0084nobodyさん 03/03/27 14:57ID:???
そもそも、金とるようなcgiだから作者に聞くのが筋のようなきもするが・・・
00858003/03/27 15:22ID:???
>>81
訂正サンクス

>>82
リモホとエージェントがわかってるなら、
if($ENV{'REMOTE_HOST'} =~ /pdx\.ne\.jp/){
$エージェント = "PDXGW\/1\.0";

でいいんでない?
00866903/03/27 16:53ID:???
>>81については無変化、
>>83 >>85については500エラーになります。

一応、作者にも聞いては見たのですが。今のところ返答はないです。
有料といっても試用期間が∞なので。。。
H"の仕様自体も特殊でわかりにくいようですね。
H"の場合、厳密に言えばブラウザではなく、Eメールの送受信を利用してページを表示している形式だそうです。
http://specters.net/cgipon/
ですべての携帯でみれる掲示板があるのですが、こちらはuser agentからの取得をしているようですね。
0087nobodyさん03/03/27 18:41ID:WYrKGZij
>有料といっても試用期間が∞なので。。。
意味不明
0088nobodyさん03/03/27 18:57ID:???
>>86
あいかわらず君が何をしたいのかわからんが…
H" のUserAgentの取得をしたいでよろしいか?
でもUserAgentが取得できないので、次善の策として、$ENV{'REMOTE_HOST'}がpdxcgw.pdx.ne.jpならUserAgentにH" を代入するでよろしいか?

> acc.cgiを
> } elsif($user_agent =~ /^PDXGW/) {
> から
> } elsif ($ENV{'REMOTE_HOST'} eq 'pdxcgw.pdx.ne.jp') {
って書いてあるが、おそらく$ENV{'REMOTE_HOST'}ではホスト名が返ってこないと思われ。

じゃ、なぜログにホスト名が記録されているっていうのは、gethostbyaddrを使っていると思われ。

あとは自分でできるね?
0089nobodyさん03/03/27 19:02ID:???
>ま、次の返答が来たら大体意図が解る気もするけど
ゴメン、わからなかったね。
0090nobodyさん03/03/27 19:08ID:???
>>86
>>83 >>85については500エラーになります。
って書いてあるが、$HostNameや$エージェントって言う変数名そのまま使ったんじゃねーか?
0091bloom03/03/27 19:15ID:LJULTLGK
http://www.agemasukudasai.com/bloom/
0092nobodyさん03/03/28 00:16ID:???
>>69は逃げたかな……
00936903/03/28 00:33ID:???
>>92
いるよ。
まったくもって理解できない。。。。
0094nobodyさん03/03/28 00:54ID:???
そもそも 500エラーに対処できるだけのスキルはあるのかな?
これ結構重要なことよ?
0095nobodyさん03/03/28 01:12ID:???
>>69
いるんだったら、>>90をはじめとする全ての自分に向けられた質問に回答しろ。
余すところ無く詳細に回答しろ。

#いい加減にしろよこの野郎。
00966903/03/28 13:29ID:???
>>94
CGIに関しては設置やせいぜいCGI内のHTMLを書き換えるくらいの知識しかありません。
だから>>90の$HostNameや$エージェントら何を代入するのか、分からないし、gethostbyaddrが何のことか分かりません。。。
申し訳ないです。なので>>88のやり方でどこを書き換えたらいいのか教えて欲しいんですが。。

あと、CGIを勉強するのにいい本ってありますかね?
0097nobodyさん03/03/28 14:59ID:???
勉強汁!
0098nobodyさん03/03/28 15:12ID:???
>>96

勉強すべきは、CGI じゃなくて言語でしょうな。
で、改造したいソースの流れを追っかけていくだけでも
十分、その言語の勉強になると思う。

> >>88のやり方
gethostbyaddr とはなんぞや?とすかさず Google 様に
お尋ねするようでなければ、こいつホントに勉強する気あるのか?
と疑われても仕方が無いと思う。# もうここまでで散々叩かれちゃってるけど

あと題材も悪かったな。H" のアクセス解析の改造でしょ?
実際H"を所持していて、しかも通信費払ってまでテストしてくれる人、
そう多くはないと思うんだなぁ。
だから、ちったぁ自分が頑張ってくれないと。
00996903/03/28 19:53ID:???
一応、いろいろ調べてみました。
gethostbyaddrというのはIPからのリモートホストの取得の様ですね。
しかし、説明文のソースについてはさっぱりでした。

ログ内は
20030328015624 p7003-adsao03yokoni-acca.kanagawa.ocn.ne.jp 219.161.128.*.1048784184 - http://ime.nu/******/ "Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; (R1 1.3))" "ja" "1024 768 24"
20030328015643 pdxcgw.pdx.ne.jp 210.168.199.42.1048784203 - - - "" "-" "-"
20030328020133 ahproxy4.ezweb.ne.jp 61.117.0.**.1048784493 - http://******/i/ - "UP.Browser/3.04-KC13 UP.Link/3.4.5.6" "ja" "120 128 8"
20030328020229 N043207.ppp.dion.ne.jp 211.126.68.***.1048365261 - - http://ime.nu/*****/ "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; .NET CLR 1.0.3705)" "ja" "1024 768 24"
20030328020333 pdxcgw.pdx.ne.jp 210.168.199.42.1048784613 - - - "" "-" "-"
20030328024028 wacc2s2.ezweb.ne.jp 218.222.1.***.1048786828 - http://*****/i/ - "KDDI-TS24 UP.Browser/6.0.8.1 (GUI) MMP/1.1" "ja-jp" "144 140 16"
20030328024332 pdxcgw.pdx.ne.jp 210.168.199.42.1048787012 - - - "" "-" "-"
の様に連続して保存されています。

DDIポケットに問い合わせたのですが、IPも「210.168.199.42」で固定らしいです。
IPからの方が処理はしやすいのですかね?
0100nobodyさん03/03/28 20:05ID:???
>>99
君はまだ、>>88 の前半に答えてない。
だからほとんどの人間は君が望むものをきちんと把握できていない。

>IPからの方が処理はしやすいのですかね?
gethostbyaddr をさっぱりとか言っちゃう君には、確かにその通り。
01016903/03/28 20:49ID:???
>H" のUserAgentの取得をしたいでよろしいか?
>でもUserAgentが取得できないので、次善の策として、$ENV{'REMOTE_HOST'}がpdxcgw.pdx.ne.jpならUserAgentにH" を代入するでよろしいか?
はい、その通りです。今回IPが同一だということが分かったのでそれでも構いません。

>って書いてあるが、$HostNameや$エージェントって言う変数名そのまま使ったんじゃねーか?
はい、使いました。$エージェントは$agentにしましたが。。。。


やりたい処理というのは>>99の様に記述されたaccess_log.cgiからH"だと言う情報を読みとり
http://www.futomi.com/cgi-bin/sample/accp/acc.cgi
の
OS/ブラウザー分析
の
OSやブラウザー
と言う欄に
DDI POCKET
H"
とOSランキングに表示させる処理です。

この際、オリジナルのacc.cgiでは
PDXGW/1.0
というUserAgentに指定されていますが、access_log.cgiのログにはUserAgentがなぜか残らないためacc.cgiがH"のログを無視してしまうという症状です。

�@UserAgent欄とRemoteHost欄に同じ"pdxcgw.pdx.ne.jp"という文字列を出す。
�AUserAgentを頑張ってログに残す処理を考える
�Bpdxcgw.pdx.ne.jpという固定のリモートホスト名から判断する
�C210.168.199.42という固定のIPから判断する
以上のような処理の仕方がいろいろ考えられますが、アクセス解析に表示されて正常に動作すればどの方法でも構いません。
簡単に直すことが出来る物でお願いします。
01028803/03/28 20:58ID:???
>>99
今もって君が何をしたいのかわからんが…
H" のUserAgentの取得をしたいでよろしいか?
でもUserAgentが取得できないので、次善の策として、リモートホストがpdxcgw.pdx.ne.jpならUserAgentにPDXGW/1.0を代入するでよろしいか?

君があんまりあれなんで、ソースを落としてみますた。
ずばり正解を言うと君の勉強にならないから、ヒントだけ言う。
ソースの中にgethostbyaddrが使われているから、その前後を見渡して、リモートホストが入っているであろうと思う変数名を$ENV{'REMOTE_HOST'}と置き換えると幸せになれる。

それと、君に足りないのはCGIの知識じゃなくPerlの知識ね。
勉強が必要なのは、Perlだよ。間違えないでよ。
01038803/03/28 20:59ID:???
>>101
かぶった!
ゴメソ
01048803/03/28 21:05ID:???
>>101
うん、わかりやすくていい質問だ!
最初からこんな質問が出てたら100点をあげてたのになぁ〜

ヒントは102に書いてあるからね。

リモートホストが入っているであろうと思う変数名がpdxcgw.pdx.ne.jpなら、UserAgent欄にDDI POCKET H"を代入する。
ってのをperlで書けばいい。

これでよろしいね。
01056903/03/28 22:33ID:???
>>104
どうもありがとうございます。
gethostbyaddrという名はみつかりませんでしたが、&GetDomainByAddrというのがありますがこれでいいんでしょうか?
921行目の
$domain = &GetDomainByAddr($remote_host{$i}, \%IpList);
を
$domain = &GetDomainByAddr($ENV{'REMOTE_HOST'}, \%IpList);
に置き換えてみましたが、これといった変化は見られませんね。
また、4215行目もオリジナルからの書き換えが必要ですかね?
0106nobodyさん03/03/29 04:49ID:???
>>105
だ か ら
$ENV{'REMOTE_HOST'}にはリモートホスト名が入ってないと思われ!

書き換えの場所も全然違う。
> acc.cgiを
> } elsif($user_agent =~ /^PDXGW/) {
> から
> } elsif ($ENV{'REMOTE_HOST'} eq 'pdxcgw.pdx.ne.jp') {
こうしたいんでしょ?
$ENV{'REMOTE_HOST'}には値が入ってないから、リモートホスト名が入っているであろうと思う変数名に変えろ!っていっているのがまだわかりませんか?

> gethostbyaddrという名はみつかりませんでしたが
acc.cgiだけを探しているからそうなる。

====  宿  題  ========
リモートホストが入っているであろうと思う変数名がpdxcgw.pdx.ne.jpなら、UserAgent欄にDDI POCKET H"を代入する。

これをperlで書け!

==================
01078803/03/29 04:50ID:???
それと。。。

> 921行目
うちの921行目は
$GetPref = '';

> 4215行目
うちの4215行目は
} elsif($user_agent =~ /FreeBSD/i) {

どうも君の行数と一致しないようです。


それから、私の説明が悪いのなら遠慮なくそういってください。
01088503/03/29 21:53ID:xKbUlELb
>はい、使いました。$エージェントは$agentにしましたが。。。。
それじゃだめです。読むのがめんどくさくて変数名は適当につけただけなんで・・・
>これといった変化は見られませんね。
何を偉そうに・・・
0109nobodyさん03/03/30 00:33ID:???
>108

一生独りでシコってろ、
0110nobodyさん03/03/30 00:46ID:???
>>109
お前は公開オナニーでもしてるのか?
0111nobodyさん03/03/30 17:53ID:???
>>69は>>106の宿題ができると思う?できないと思う?
できるとしたら何月何日?
漏れは出来ないに一票!!!
0112nobodyさん03/03/30 18:37ID:???
>>111
つか、逃げたに一票
0113nobodyさん03/03/30 18:39ID:???
今週中になんとかなるに一票。
この板の過疎化、厨化を打開するためにも >>69 には頑張ってほしい。いやマジで。
0114nobodyさん03/03/31 18:05ID:bXMafSv+
掲示板のデザインをいじりたいのですが
スクロールバーや枠などですが
いろんなcgiみてソースをパクっても動きません(涙
こんなのとか…

$scroll_arrow = '#ffffff'; #arrow
$scroll_base = '#80BFFF'; #base
$scroll_face = '#4275bb'; #face
$scroll_high = '#4275bb'; #highlight
$scroll_shdow = '#4275bb'; #shadow

初心者すぎる質問かもしれませんが、宜しくお願いします。
ソースは
http://members6.tsukaeru.net/forever/smokescr.txt
です。
0115nobodyさん03/03/31 18:14ID:???
Name "main::ppw" used only once: possible typo at smokescr.txt line 2038.
Name "main::hyoji" used only once: possible typo at smokescr.txt line 281.
Name "main::body" used only once: possible typo at smokescr.txt line 2151.
Name "main::icon_file" used only once: possible typo at smokescr.txt line 2214.
Name "main::name0" used only once: possible typo at smokescr.txt line 844.
Name "main::jumpurl" used only once: possible typo at smokescr.txt line 2135.
Name "main::tip0" used only once: possible typo at smokescr.txt line 844.
Name "main::number0" used only once: possible typo at smokescr.txt line 854.
Name "main::ip0" used only once: possible typo at smokescr.txt line 844.
0116nobodyさん03/03/31 18:37ID:bXMafSv+
>>115さん
自分バカでよく分りませぬ…
0117nobodyさん03/03/31 18:43ID:???
>>114
アホだなぁw
そんなもんパクって来ても意味ないに決まってるだろう。
デザイン変えたいなら記事表示部分を直接イジれ。
スクロールバーの色変えたいならcssに追加しろ。
cgiじゃなくてhtmlだわw

てゆーか設定部分でそこそこデザイン変えられると思うんだけど?
0118nobodyさん03/03/31 18:57ID:a8GlaiRt
>>116
1回しか使われていない変数があったから、それはタイプミスではないか?というPerlの警告
0119nobodyさん03/03/31 18:57ID:???
>>117
>デザイン変えたいなら記事表示部分を直接イジれ。
>スクロールバーの色変えたいならcssに追加しろ。
>cgiじゃなくてhtmlだわw

アホなので記事表示部分を直接いじりたいのですが
どこがどこなんだかよくわからないのです(涙
おっしゃる意味はよく分るのですが
どこをどうすればいいのかわからないのです(涙

解説お願いできますか?
ほんとアホでごめんなさい。
012011403/03/31 18:59ID:???
>>118
なにか不具合が生じることがあるってことなんでしょうか?
0121nobodyさん03/03/31 19:05ID:???
>>119
1011-1918行でスタイル定義されているので、
1919行の上に好きに定義していけばいい。
あとは、cssを勉強しる。
0122nobodyさん03/03/31 19:06ID:???
>>114
作者がちゃんとデバッグしていない証拠。
なので、こんなスクリプト使うな、ということでは?
012312203/03/31 19:07ID:???
× >>114
○ >>120
012411403/03/31 20:19ID:???
>>121
ありがとうございます。出来ました。

>>122
なるほど。
0125初心者1号03/04/01 14:08ID:z3z051yZ
匿名メーラーCGIを改造したいんですけど、
元すく:http://webstar.jp/~foxhound/temp/post.zip
未完成スク:http://webstar.jp/~foxhound/temp/densyo.zip

送ることには成功したんですが、送信後の画面がエラーになってしまします。(機能はしてる
なにがたりないのでしょう?ログを保存するように改造したのですが・・・
ご教授お願いします。
0126nobodyさん03/04/01 14:15ID:???
>>125
ローカルでテストしてるのなら
Webサーバのログを見れば何か出てるんじゃない?
0127初心者1号03/04/01 14:20ID:z3z051yZ
エラー500とでますが・・・
文法チェックもしてみましたが、Okとでるだけで・・・
0128nobodyさん03/04/01 15:14ID:???
>>127
未完成スクは、うちでは500エラーは出なかったよ。
ただ、Subjectの日本語が化けっちゃったし、本文の改行が<br>タグになってますね。
今からスクリプト覗いてみまつ。
012912803/04/01 15:36ID:???
>>127
メールのエンコードの基本がわかってないように思えます。
勉強汁!

sub decodeでタグ変換、改行コードを<br>タグに変換したあとにメールを送信するようにしているが、これではダメなのは明白!

どこをどう直せというよりも、作り直した方が早いと思う。

それと、ログファイルを飛ばないようにテンプファイル作ってrenameしてますが、そんなに気にするほどのものでもないと思う。
0130初心者1号03/04/01 16:22ID:dwefDJjw
>>129 そうでしたか、ご教授アリガトウございます。
MIME-Base64モジュールとかつかってみます。(まだよく勉強不足でわかりませんが・・
がんばってやってみます。

http://webstar.jp/~foxhound/temp/fake_mailer.zip
*あと、実際このCGIをつかえばイイことがわかりました(藁

0131nobodyさん03/04/01 16:23ID:Tf82OTQL
★賞金が当たる★彼女が出来る★未成年クリック禁止★
http://www.pink-angel.jp/betu/linkvp2/linkvp.html
0132初心者1号03/04/01 16:26ID:dwefDJjw
それで、
-----------------
▼送信選択
・今すぐ送信
・送信の予約
▼予約日時
10日先までの日時で入力してください。
(○月○日まで予約可能)
□月
□日
□時頃(0-23)
*通信状態によっては遅れることがあります。
-決定-
------------------

>>125の元すくの指定回数送信をつけたまま
うえのような感じの送信予約機能付きのにしたいのですが、
(↑のデザインのやつはドコモのタイムメールのやつです。)

0133nobodyさん03/04/01 16:49ID:???
新しいスクリプトは落としてませんが、たぶんこんなもんでしょう。

フォームで指定回数欄をname="count"で作って、open〜closeまでをforで囲む。

# 指定回数メールを送信

for($i=1;$i<=$FORM{'count'};$i++){
open(MAIL

途中略

close(MAIL);
}

わかった?
013413303/04/01 16:50ID:???
おっと!
漏れ質問の意味を履き違えてたみたい。。。
逝ってくる。。。
0135nobodyさん03/04/02 06:29ID:???
ttp://tackysroom.com/cgi_tackynote2.htmにあるTackynote2 Ver0.582という日記帳。
「http://」を入れると勝手に「こちら」というコメントから直リンになっちゃうので

518行目
$comment =~ s/([^=^\"]|^)(http|ftp)([\w|\!\#\&\=\-\%\@\~\;\+\:\.\?\/]+)/$1<a href=\"$2$3\" target=_top>こちら<\/a>/g;
561行目
$comment =~ s/([^=^\"]|^)(http|ftp)([\w|\!\#\&\=\-\%\@\~\;\+\:\.\?\/]+)/$1<a href=\"$2$3\" target=_top>こちら<\/a>/g;

を消したんですが、今度は「http://」という単語*だけ*を表示する事が出来なくなりました。
<a>タグを使った時はちゃんとハイパーリンクが機能しますが、
<a>を使わないで「http://」が日記内の文字として表示されるように改造出来ないものでしょうか?
0136nobodyさん03/04/02 07:19ID:sBnPyZHr
    _,,...,_
  /_~,,..::: ~"'ヽ
 (,,"ヾ  ii /^',)
    :i    i"
    |(,,゚Д゚) < http://www.k-514.com/
    |(ノ  |)  
    |    |  
    ヽ _ノ
     U"U
0137nobodyさん03/04/02 15:35ID:ewLA/ZMt
ichatを今使ってるんですけど、アイコンがたくさんあるので、アイコン一覧見たいのを作りたいんですけど。
どうやればいいんでしょうか?お願いします。
ちなみにichatのソースはhttp://csx.jp/~lgyec/ichat.dataです。
0138マリモーマ ◆r6PDGT6Xd2 03/04/02 15:41ID:acVI7GW1
テーブルと imgタグで 並べればいいのでは?
0139nobodyさん03/04/02 18:32ID:???
>>135
518、561行目をコメントアウトしただけで大丈夫だったぞ?
0140nobodyさん03/04/02 18:37ID:???
>>137
ARくん、今度は名無しかい?
0141AR03/04/02 19:06ID:shOHnSjc
>>137名前かくの忘れてました(汗

>>137ヨロシクお願いします。
0142nobodyさん03/04/03 00:44ID:???
>>141
あのさあ、人をなめるのもいい加減にしない?

散々前スレから他人に答えさせておいて、しかも逃げたんだろ?
それでなんでまた誰かにこたえてもらえると思うの?
0143nobodyさん03/04/03 01:14ID:???
>142
もうほっとけよぅ、こんな香具師構うだけ労力の無駄だって(´д`;
構ってほしいだけなんだろうしさ。
努力のかけらも見えやしねぇ。
漏れと吉牛逝ってモチツコーぜ。な。
0144nobodyさん03/04/03 06:08ID:???
とりあえずichat改造のネタはスルーの方向で
0145nobodyさん03/04/03 08:15ID:???
>>139
オートリンクは解除されるんですが、今度は
<a></a>タグで囲まずに「http://www.2ch.net」と書いても
その文字部分だけが表示されてないんです。真っ白。
だから直リンを避けてURLを紹介する際などには
いちいちタグでリンク貼るしかないんです。
hだけでも抜いとけば良いだろって話かもしれませんが
出来るのなら改造しておきたいので…
014614503/04/03 08:18ID:???
日本語がおかしかった。
直リンを避けてURLを紹介したい時は
http://をまるまる抜いて記述する(これなら文字が表示される)しかなく、
でも表示されない以上はタグでリンク貼らないと表示されない罠。
でもなんか不恰好ですし、アドレスバーにわざわざ
要らないwwwとか入れて行けなくなるとか言われるし。
0147nobodyさん03/04/03 09:48ID:???
>>145-146
> オートリンクは解除されるんですが、今度は
> <a></a>タグで囲まずに「http://www.2ch.net」と書いても
> その文字部分だけが表示されてないんです。真っ白。

もしかして>>139の言ってるコメントアウトをHTMLのコメントアウトと勘違いしてないかい?

518行目
# $comment =~ s/([^=^\"]|^)(http|ftp)([\w|\!\#\&\=\-\%\@\~\;\+\:\.\?\/]+)/$1<a href=\"$2$3\" target=_top>こちら<\/a>/g;
561行目
# $comment =~ s/([^=^\"]|^)(http|ftp)([\w|\!\#\&\=\-\%\@\~\;\+\:\.\?\/]+)/$1<a href=\"$2$3\" target=_top>こちら<\/a>/g;

それぞれ行頭に # つけてコメントアウトしたら、本文中に http://〜 があっても、リンクの形に置換されない。
0148nobodyさん03/04/03 19:09ID:???
>>147
Σ(゚д゚) そうでしたスマソ…
試したらちゃんと反映されました。
どうもお騒がせしました、有難う御座います(´Д`)
0149nobodyさん03/04/04 00:54ID:???
Kentの掲示板(http://www.kent-web.com/bbs/petit.html?)
で半角カナを使いたいのですがどのように改造すれば良いのでしょうか?
よろしくお願いします。
0150nobodyさん 03/04/04 01:10ID:???
>>149
&jcode::convert(\$line, "euc", "", "z");
を
&jcode::convert(\$line, "euc", "");
みたいに"z"を取り除けばよい

でも、コレをやった場合半角カナの部分で文字化けする、ケースがかなり高いと思われる。
そうなった場合は、cgiと相性が悪いという事で諦めること
0151nobodyさん03/04/04 01:20ID:???
クッキーで化けるかも?
0152nobodyさん03/04/04 01:21ID:???
名前に半角カナを使った場合ね
0153nobodyさん03/04/04 01:28ID:???
>>150
ダメですた。・゜・(つД`)・゜・。
0154nobodyさん03/04/04 01:32ID:???
>>151-152
名前は全角です。
0155nobodyさん03/04/04 01:44ID:???
>>154
シフトJISで書き込むという前提でいいなら&jcode:convertをコメントアウトすれ
0156nobodyさん03/04/04 01:57ID:???
>>154
半角カナにできますた。
>シフトJISで書き込むという前提でいいなら
なにか問題があるのでしょうか?初心者でスマソ。
0157nobodyさん03/04/04 01:59ID:???
>>155
すいません。お礼言うの忘れていました。
ありがとうございます。
0158nobodyさん 03/04/04 02:17ID:???
>>156
Shift-Jisはメタ文字を含むから文字化けしたりとか、正規表現でエラーになったりとか・・・
0159nobodyさん03/04/04 02:25ID:???
>>158
レスありがとうございます。
2chやふたばはどのような形式で書き込まれているんですか?
0160nobodyさん 03/04/04 02:30ID:???
漠然とした質問であるけど・・・
文字参照にするとか、エラーにならない記述をするとか、
漢字コードをeucやutfにもっていくとか色々とありますがねぇ
0161nobodyさん03/04/04 02:35ID:???
半角カナを使える掲示板はいくらでもあるからソースを見るといいよ
0162nobodyさん03/04/04 09:25ID:???
jcodeg.plを使うと簡単>半角カナ
ググれば出てくる。
0163nobodyさん 03/04/04 13:52ID:???
まぁ、そもそもAAでもやるんでなければ半角カナなんぞ使ってほしいものではないのであるが・・・・
0164nobodyさん03/04/04 15:06ID:???
>>160-163
レスありがとうございます。
>>162
ググって色々調べて見ました。かなり勉強になりました。どもです。
0165nobodyさん03/04/05 15:55ID:WfuJAlpa
http://www7.big.or.jp/~jawa/download/ansq/index.html
このANQ.BBSに2chみたいなトリップ機能つけるには
どうすればいいですか?
0166nobodyさん03/04/05 16:02ID:TYA4CtbI
http://yahooo.s2.x-beat.com/linkvp/linkvp.html
0167nobodyさん03/04/05 16:03ID:???
>>165
名前欄処理するところに追加すりゃいーじゃん。

いちいちソースダウンロードして中見る奴は稀だぞ。
せめて名前欄の処理してるところくらい、貼りつけろ。
トリップ生成のアルゴリズムは、この板のどこかのスレにあったから、
まず探せ。
016816503/04/05 17:17ID:1LEjuaxK
すいませんでした。多分このあたりかなと・・・。
トリップ作成のアルゴリズムってどこにあるんでしょうか。
検索しても出てこないです。。


sub html_form {
print<<"_EOF_";
<HR>
$html_formmsg
<FORM ACTION="$cginame" METHOD=post>
<TT>名前:</TT><INPUT TYPE="text" NAME="name" SIZE=16 MAXSIZE=16>
<TT>疑問:</TT><INPUT TYPE="text" NAME="qes" SIZE=60>
<INPUT TYPE="submit" VALUE="書き込む">
</FORM>
_EOF_
}
0169nobodyさん03/04/05 17:26ID:???
WEB POWERさんのディレクトリ・ゲイト(http://www.webpower.jp/websofts/others/web_protection/directory_gate/)
スクリプト(http://shinseijump.tripod.com/dirgate.cgi.txt)
なんですが、
i-modeで一度IDとPASSで認証させたら、
次からはそのi-modeからのアクセスならIDとPASSで認証しないでも入れるようにしたいんですが、、不可能でしょうか?
携帯の製造番号を取得してるみたいなので可能な様な気もするのですが・・・

もし可能なら是非ご伝授頂きたいです!!m(_ _)m
017016903/04/05 17:28ID:???
あ、イメージとしては
ttp://www.yokogawa.co.jp/itbiz/secureticket/ver3.2/imode.htm
見たいな感じですm(_ _)m
0171nobodyさん03/04/05 17:30ID:???
>>168
書き込みをログに保存する場所を探すこと。
探すキーワードは open(略, ">略) または open(略, "+<略 って感じで。

検索って…どうやったんだか知らんが↓
http://pc2.2ch.net/test/read.cgi/php/1023589390/117
0172nobodyさん03/04/05 17:42ID:???
>>169
i-mode の識者が現れるのを待てないなら、
携帯の製造番号とやらが、どの環境変数にセットされるのか教えてくれないか?

ざっと見た感じではそんな処理は無いようだが。
017316803/04/05 17:44ID:1LEjuaxK
>>171
ありがとう。多分このあたりかと。多いので2つにわけます。

sub read_file {
local($logfile) = $_[0];
if (!open(IN,$logfile)) {
&error(1,"記録ファイルの読み込み不可");
}
local(@files) = <IN>;
close(IN);
return @files;
}
sub write_file {
local($logfile,@lines) = @_;
&dubble_lock_file;
if ($lock_error) { &error(1,"ロックファイルを検出しました。時間をおいてご利用下さい。"); }

if (!$savetype) {
# 標準タイプ 全 OS 共通
if (!open(OUT,">$logfile")) {
&dubble_unlock_file;
&error(1,"記録ファイルの書き込み不可");
}
017416803/04/05 17:44ID:1LEjuaxK
続きです。

print OUT @lines;
close(OUT);
} else {
# 改良タイプ chmod 使用
$tmpfile = "$$\.tmp";
if (!open(OUT,">$tmpfile")) {
&dubble_unlock_file;
&error(1,"Temp利用ログ記録方式に未対応です。");
}
close(OUT);
chmod 0666,$tmpfile;
if (!open(OUT,">$tmpfile")) {
&dubble_unlock_file;
&error(1,"Temp利用ログ記録方式に未対応です。");
}
print OUT @lines;
close(OUT);
rename($tmpfile,$logfile);
}
&dubble_unlock_file;
return @lines;
}
0175nobodyさん03/04/05 17:54ID:???
>>173
ハズレ。
いや、そこから"名前"を逆に追えということだったんだが。

アドバイスが不適切だったようで申し訳ない、ということでソース落としてみたが、
そのものズバリ、クエスチョン登録、アンサー登録ってコメントがあるじゃねーか。
双方に、
...$FORM{'name'}<>...
という処理がある。$FORM{'name'} に名前が入ってるようだから、
この一つ前で、先のトリップ処理をすれば良い。

あとはできるだろ?
017617303/04/05 18:26ID:1LEjuaxK
>>175
いや〜わざわざすいません。
その処理部分は発見しました。$FORM{'name'} この部分の
一つ前でトリップ処理・・・というのがわかりません。
http://pc2.2ch.net/test/read.cgi/php/1023589390/117
これを全部貼り付ければいいんでしょうか?
(かなりのド素人というか何もわかってないです。。)
お願いします。
0177nobodyさん03/04/05 18:34ID:???
>>176
http://pc2.2ch.net/test/read.cgi/php/1023589390/117
これを、
1. $FORM{'FROM'} → $FORM{'name'} に変換
2. $FORM{'mail'} の行はいらない
として、
279行の前と304行の前に貼り付けれ。
017817603/04/05 18:57ID:1LEjuaxK
>>177
うーむ。
テスト#abc などと名前に入れると
「エラー:名前またはメッセージが長すぎです。」
とエラーになります。
おかしいな。。
0179nobodyさん03/04/05 19:11ID:???
>>178
テスト#abc じゃエラーにならんだろ。。。
エラーのメッセージで検索すりゃ、どこを直せばいいかすぐわかるだろ。。。
018017803/04/05 19:19ID:1LEjuaxK
>>179
お〜!!
文字数を変えたらできました!
ありがと〜♪
0181nobodyさん03/04/05 19:19ID:???
>>172
169じゃないが
コレ?
http://www.zdnet.co.jp/mobile/0102/13/id.html
0182nobodyさん03/04/05 19:27ID:???
>>181
ほぉ、一つ勉強になったよ。サンクスコ
■ このスレッドは過去ログ倉庫に格納されています