スクリプト改造工房 Part4
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
02/02/05 01:20ID:CZVDHHphという人がいましたらここで聞いてください。
ひょっとしたらアドバイス出来るかもしれません。
前スレ
Part2 http://pc.2ch.net/test/read.cgi/perl/986986227
Part3 http://pc.2ch.net/test/read.cgi/php/988808396
なお、質問するときは
1)そのスクリプトのある場所(URL必須、拡張子".txt"でアップすればなお良し)
2)どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し)
を必ず明記しよう。
0693nobodyさん
02/05/28 07:18ID:???それじゃあ2重投稿じゃないじゃん
0694nobodyさん
02/05/28 09:44ID:???このスレで書きなさいと言われたので、こちらで質問します。
激しく初心者なのですが、掲示板の入力する項目に
「名前・メルアド・URL・本文」以外に年齢とか趣味とかの
項目を追加したいと思います。どうすればいいのでしょうか?
テスト用のサンプルとしてKENTさんのASKA BBSを使ってます。
http://www.kent-web.com/bbs/sample/aska.cgi
0695nobodyさん
02/05/28 10:02ID:???禿しく初心者と自分で言うくらいだったら、CGIの改造は止めた方が良いと思われ。
「初心者」という言葉を免罪符のように使われると鬱陶しく感じる人が多い。
とりあえず、テキストエディタでCGIを開いて、最初から最後まで読んでください。
ttp://tohoho.wakusei.ne.jp/wwwperl.htm が参考になると思われ。
//asuka.cgi
◎238行目くらいに
<tr>
<td><b>趣味</b></td>
<td><input type=text name=hobby size="$f_name" value=""></td>
</tr>
と追加。
◎335行目くらいからの「書きこみ処理」の中。特にunshift
この辺りを重点的に読んでみなさい。
上に書いたURLを参考にしながらasuka.cgiを読んでも分からない様だったら
質問スレで聞いてみる。くれぐれも「初心者だから・・・」という言い回しは禁物。
と、答えになって無さそうなのでsage
0696695
02/05/28 10:09ID:???KENTのasuka.cgiを読んだら、名前と内容(本文)で重複投稿をチェックしている。
if ($in{'name'} eq $name && $in{'comment'} eq $com) {
&error("二重投稿は禁止です");
}
0697補足
02/05/28 10:10ID:???($no,$date2,$name,$mail,$sub,$com,$url,$host2,$pw2,$time2)
= split(/<>/, $lines[0]);
0700nobodyさん
02/05/28 14:59ID:???今だ!700番ゲットォォォォ!!
 ̄ ̄ ̄ ̄ ̄∨ ̄ ̄ ̄ ̄ ̄ ̄
∧∧ ∧∧ ドドドドドド・・・・
(゚Д゚ ,,) (゚Д゚ ,,) ∧∧ (´´
⊂_⊂V⊂ ⊂ )⊂(゚Д゚ ,,)_/(´´
Y /⊃ | .L⊃∧∧∪ _⊃(´⌒(´
ドカ ∪∧∧J⊂(x _x⊂ノ(´⌒(´ (´´
ドカ ⊂(゚Д゚⊂⌒`つ≡≡≡(´⌒;;;≡≡≡
ズザ・・・
0701nobodyさん
02/05/29 20:11ID:xJVqUtLchttp://www.hoge.com/yybbs.cgi?bbs=0
と、すると「0」というディレクトリの中のset.cgiを読み込むようにしたいです。
0704703
02/05/31 00:09ID:bVzYO4Pwとか使えば?
0705nobodyさん
02/05/31 04:12ID:tYW7BBALこれこれ・この部分を付け加えれば画像アップ出来るよ!
というのを教えてください!
変数名くらいなら自分でも書きかえれますので、
そこらへんはお気を使ってもらわなくってもいいですYO!
よろしくおねがいします。
0707nobodyさん
02/05/31 04:27ID:???<form method="post" action="お気に入りのスクリプト" enctype="multipart/form-data">
0708nobodyさん
02/06/01 13:47ID:???<input type=file>
</form>
cgi側の処理についてはアップ機能付きのCGIソースを解析しれ。
0709由芽
02/06/01 21:03ID:???これってどういういみ?
0710由芽
02/06/01 21:05ID:???0711nobodyさん
02/06/02 16:32ID:DhpOMnbM0712nobodyさん
02/06/02 17:21ID:6HwbG/crJavaScriptでの共通処理を切り出し、別ファイル(**.js)に記述しました。
Servletから上記のファイルどもを呼び出したときに、
jsファイルがない(FileNotFound)と怒られてしまいます。
なにか設定が必要なのでしょうか?
おバカな質問でごめんなさい。
0714nobodyさん
02/06/04 19:10ID:???サラブレット
0715715 ◆aZaelUQo
02/06/05 19:35ID:IAdO/kZLソース:http://cat.zero.ad.jp/mouse/download/enqu2/enqu_cgi.txt
はじめまして。
私は上記のアンケートCGIを携帯用に改造したいと思っています。
そこで、改造したい点が二つあります。
まず一つ目はCookieをoffにしているとアンケートを集計出来ない点です。
これは携帯にはCookieなどないので投票出来ない為です。
二つ目はアンケートに投票した後に「ありがとうございました」という軽い画面を表示したいのですが、
投票後は集計結果の画面になってしまいます。
携帯ですと重いページを表示すると料金が高くなってしまいますのでこれも改善したいです。
もしも、教えて頂ける方がおられましたら書き込み宜しくお願い致します。
0716nobodyさん
02/06/06 01:44ID:???ケータイ用アンケートは他の既存スクリでも可能では?
以下、このスクリで変更すべきモノ
削るルーチン:SetCookie/CookieCutter
修正すべきルーチン:form_html/result_html/error
他にも適宜
0717715 ◆aZaelUQo
02/06/06 13:37ID:mVD0oUeNレスありがとうございます。
携帯用のアンケートは色々あったんですが、
質問を増やしたり削除したりするのをブラウザで行うタイプだったり、
質問を複数出来ないタイプだったり、投票結果が別ページではなかったりと
私の理想のアンケートとはどれも違うもので、一番近いのがこれかなと思って紹介したのですが。
(私の探し方が悪いのでしょうか・…?)
その削るルーチンと修正すべきルーチンはCookeiをoffの状態で投票出きるようにする修正ですよね?
ありがとうございます。後で試してみます。
0718715 ◆aZaelUQo
02/06/06 18:00ID:mVD0oUeN716さんが教えてくれたポイントを削ったりしてみたのですが
今度はCookieをonの状態でも投票出来なくなってしまいました。(もう元に戻しましたが…)
修正すべきルーチンというのがどう修正するのかがわからなくて困っています。
まだ他にも変更点があるらしいですし…
もう、二つ目のアンケートに投票した後に軽い画面を表示したいと言ったのは無視して結構です。
Cookieをoffの状態でも投票出来るようにする事だけで結構です。
教えて頂ける方がおられましたらレスお願い致します。
J−PHONEはmethodがGETなのでUserAgentで分別して
”POST”と”GET”で分けてみたんですがJ−PHONEのUserAgentで見てみるとサーバーエラーに
なってしまいます。原因がわかる方いましたら教えて下さい。
ソース↓
http://www.h2.dion.ne.jp/~i-deai/2shotcgi.txt
0721nobodyさん
02/06/07 22:58ID:C6AACH6z135,136行目
if ($ENV{'REQUEST_METHOD'} eq 'POST') { read STDIN, $buffer, $ENV{'CONTENT_LENGTH'} }
elsif ($ENV{'REQUEST_METHOD'} eq 'GET') { $buffer = $ENV{'QUERY_STRING'} }
else { &error('エラー','不正なメソッドです.') }
こんな感じでどうでしょう。
この部分しか見てないのでこれで動く保証は出来ませんが・・
0723nobodyさん
02/06/09 12:01ID:6Hb3jJDUKent-Webで配布されているaska.cgiという掲示板を改造したいと考えています。
改造する点は
書き込みをするために「送信する」をクリックした後、元のページに戻れなくしたいのです。
242行目の
<input type=submit value="送信する"><input type=reset value="リセット">
を
<input type=submit value="送信する" onClick="window.location.replace('$script')">
<input type=reset value="リセット">
とJavaScriptを混ぜてみても上手く行きませんでした。
本当はtype="button"なので無理矢理だったので、無理を承知だったのですが。
何か良い方法はないでしょうか。識者の方お願いいたします。
0724nobodyさん
02/06/09 13:27ID:???0725nobodyさん
02/06/09 16:40ID:???J(java)scriptはどうかと。切っている人間には無反応
元のページがcgiであれば、ワンタイムパスを噛ませてみては?
また、単に書き込みペ−ジであれば二重投稿防止するだけでは?
0726715 ◆aZaelUQo
02/06/09 17:10ID:kc9xedN1あれから毎日色々改良しているんですがどうしても出来ません。
最後の頼みです。誰か教えて下さいお願いします。
0728nobodyさん
02/06/09 23:24ID:???とりあえず頑張った成果を晒してみろ。
Cookie使わない代わりにどのような手を使うのかも文で示せ。
「できない」「わからない」じゃ回答できんよ…。
0729715
02/06/10 00:59ID:DOtnWOEqおぉぉレスがッ!ありがとうございます!
頑張った成果と言っても自分でも何をやったかわからないくらい色々やったので全ては文に書くことは出来ませんが、
perlの事はわからないのでとにかくCookieと書いてある所を検索して消してみたり
他のcgiのCookie部分を見ながらコピーしてみたりとまぁ色々しました。
でもどうしてもCookie offでもonでも投票出来なくなってしまいます。
>Cookie使わない代わりにどのような手を使うのかも文で示せ。
とありますがCookieをoffにして投票できるようにする為には何か他の手を使わないといけないのでしょうか?
それともそれは「連続投票をCookieを使わない変わりにどのような手で防ぐのかも文で示せ。」という事でしょうか?
後者の場合、連続投票は防ぎません。携帯サイトなので連続投票はパケ代かかりますから。(PCの入室は.htaccessで防いでます。)
何かヒントのようなものだけでも教えて頂けませんか?
0730
02/06/10 02:00ID:B7i4bf2gまだやってたのかい。
どこかに努力の成果のソースをあpできないの?
0732715 ◆aZaelUQo
02/06/10 04:04ID:???努力の成果のソースと言われても改良してダメだったら元に戻して違う改良をして…の繰り返しですし。
そのまま続けていたら本当に滅茶苦茶になってしまうと思います。
あと、もうひとつだけキープしてるのがあるんです。
そっちは投票した後も何故か投票画面が出てしまうという意味のわからない仕様で、
他にもいくつか気にいらない点があるのですがもう諦めてそのCGIを使います。
皆さんありがとうございました。
0736nobodyさん
02/06/11 21:30ID:4iAl80bC0738初心者
02/06/14 08:52ID:???http://mbspro6.uic.to/user/racalyn.html
と同じBBSを作るにはどうすればよいのでしょうか。
KENTをどのように改造するとかは、どこを参考にするとか?
すいませんが教えて下さい。
0739nobodyさん
02/06/14 11:15ID:???0740nobodyさん
02/06/14 12:36ID:???マルチポストやめれ。
しかも
http://pc.2ch.net/test/read.cgi/hp/1016938825/634n
http://pc.2ch.net/test/read.cgi/php/1021897804/103n
で答え出てるし。
0741名無しさん@お腹いっぱい。
02/06/14 14:11ID:???そのBBS見やすくていいな!!
HTMLいじるだけじゃできないんじゃないか?
0742nobodyさん
02/06/14 17:20ID:Kcrj1oUC著作権無視サイトの真似なんかしようとスンナ!
0743nobodyさん
02/06/14 17:58ID:MlpoaSWThttp://php.s3.to/bbs/bbs5.php
をcgiにできませんか?
(ずるぼんにマルチftp機能つけるにはそうすればいいのでしょうか?)
0744nobodyさん
02/06/14 19:55ID:???「CGIにしたい」ってのは、「Perlで書けないか」ってこと?
FTP転送用のモジュール(LWPとかNet::FTP)が使えるなら
わりと簡単にできるだろうが、入ってなければ書き換えは面倒ぽい。
0746nobodyさん
02/06/15 09:54ID:???0747nobodyさん
02/06/15 23:36ID:4TC0pTduよその、HPに飛ばすことなんてできるんでしょうか?
PASS間違い→YAHOOにとばすとか?
0749nobodyさん
02/06/16 14:12ID:5xT6mDAHLocationとは?
初心者なんで・・・
鯖は、xreaなんですけどできますかね?
0750nobodyさん
02/06/16 14:27ID:???0751nobodyさん
02/06/16 16:38ID:???xrea がどうかは知らないが簡単なスクリプト組んで試してみれば良い
07523PIO ◆3pIoOHKo
02/06/16 20:42ID:O9g6dmTiLocationすら分からないヤシがCGIを改造しようなど思うな。
07543PIO ◆3pIoOHKo
02/06/16 21:07ID:O9g6dmTiはい。わかりました。
0755nobodyさん
02/06/17 12:17ID:H/3Qxll9PGPで暗号化して送信したいんです。
さんざん検索したんですが、
個人間でやりとりするメールを暗号化する話しかひっかからずでした。
サーバからメール送信する際はsendmailを使ってます。
なんかいいやり方や情報、お願いします。
0758755
02/06/18 16:09ID:???>>757
そそ。Perl+PGPです。スクリプト改造ぢゃなかったんですか・・・。
「CGIだけど、なんか質問ある?」スレとその過去ログを検索しても
PGPの話題がなかったもんで、ここかなーと。
CGI質問スレPart6に逝ってきます。
0759nobodyさん
02/06/21 21:25ID:sW4bYQCqこのCGIで半角カナを使用出来るようにしたいのですが、
どうすればよろしいでしょうか?
どうかよろしくおながいします。
配布サイト
http://www.cgi-down.com/cgi/imodebbs.html
07613PIO ◆3pIoOHKo
02/06/21 21:32ID:???ここを参照:http://srekcah.org/jcode/
0762xx
02/06/21 21:33ID:???jcode.pl に設定ってあるの?
0763759
02/06/21 21:54ID:sW4bYQCq高速なレスありがとうございます。
そのサイトを見たのですが、バカな私にはサッパリ解りませんでした...
# [フォームデータを取得し、文字コード統一]
sub read_form {
local($pair,$form_date);
if ($ENV{'REQUEST_METHOD'} eq "POST") { read(STDIN, $form_date, $ENV{'CONTENT_LENGTH'}); }
else { $form_date = $ENV{'QUERY_STRING'}; }
local(@pairs) = split(/&/,$form_date);
foreach $pair (@pairs) {
local($name,$value) = split(/=/,$pair);
$value =~ tr/+/ /;
$value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C",hex($1))/eg;
&jcode'convert(*value,'sjis');
if ($name eq 'get') { push(@DEL,$value); }
else { $FORM{$name} = $value; }
}
}
ここをいじればよいのでしょうか?
0765xx
02/06/21 23:17ID:???チョット待て、
削除する前にせめてコメントにして動きを見るのが鉄則。
0766nobodyさん
02/06/22 00:17ID:???0768759
02/06/23 02:08ID:Bn+v9pGhもう一つ教えて頂きたいことがあるのですが...
http://homepage2.nifty.com/f-mld/count.pl.txt
このカウンターで、50の倍数を踏んだ人にランダムでメッセージを表示させる
ようにしたいのですが、どのように書けばよろしいでしょうか?
どうか、どうかよろしくおながい致します。
0770xx
02/06/23 02:24ID:???こんな感じでしょうか?
unless ($count % 50){
@data= <DATA>;
print $data[int(rand(@data))];
}
__END__
メッセージ1
メッセージ2
メッセージ3
:
0771759
02/06/23 03:06ID:Bn+v9pGhすみません...ご迷惑をおかけします。
Pealを勉強したいのですが、どのようにすれば良いかわからなくて...
オススメのサイトや書籍などがありましたら教えて頂けないでしょうか?
>>770
教えて頂きありがとうございます。とても嬉しいです。
でも、どこに記述すれば良いのかがサッパリ解りません...
print "訪問者:$total<br>T:$count Y:$ycount\n";
この下でよろしいのでしょうか?
07743PIO ◆3pIoOHKo
02/06/23 13:21ID:x3pCNKFh漏れはここで勉強した
http://tohoho.wakusei.ne.jp/wwwperl.htm
07753PIO ◆3pIoOHKo
02/06/26 15:11ID:DwF94vyq0776nobodyさん
02/06/26 19:58ID:???よろしくおねがいします。下がスクリプトです。
http://kirazoo.tripod.co.jp/tree.txt
07773PIO ◆3pIoOHKo
02/06/26 22:14ID:yU8VbQZuとてつもない改造が必要かと思われる。
あと、本当に改造してほしいならばsageずにageろ
0778nobodyさん
02/06/26 22:39ID:???そのスクリプトじゃないとダメっていう理由がないなら
レスがついたらTreeが上昇する機能がついてる別のスクリプト使ったら?
http://www.kent-web.com/bbs/wforum.html
0779nobodyさん
02/06/27 00:07ID:???0781776
02/06/27 18:50ID:lD8zMgyZレスありがとうございます。
かなりの改造が必要なんですね...
デザイン的に結構気に入ってたもんで出来ないものかと思って質問してみました。
別にKENTを使いたくないという訳ではないのですが今乗り換えるとログの問題もあり
旧と新二つ設置しなければいけなくなる為少々抵抗を感じます。
もう少しこのままレスが付くのを待ってみます。
もう一つ質問したらきっと叱られる思いますが>>776の場合、改ページ処理で<option value>ダグで選ぶのではなく「戻る」「次」見たいに変更するにはどのようにしたら良いものでしょうか。ヒントだけでもお願いします。
0782nobodyさん
02/06/27 23:05ID:???上記のうなぎスクリプトなんですが、書きこみ欄に4桁程度の
削除キーを書いて、ユーザがカキコの後から編集、削除ができ
るようにしたいんですが、やはり大規模な書き換えになってしまう
んでしょうか。よろしくお願いします。
0783nobodyさん
02/06/27 23:56ID:???そう言う事をやろうとすると…
・ログに削除キーを記録するように変更(項目の追加)
・削除キーが何らかの手段で与えられた場合の編集、削除ロジック追加
最低でもこれらが必要になるね
07843PIO ◆3pIoOHKo
02/06/28 16:27ID:???やれば出来るだろうが漏れのスキルでは丸1日かかってしまう。
誰か他所あたってくれや。
>>782
DESでパスワードを暗号化する必要もあると思われ
http://tohoho.wakusei.ne.jp/wwwperl2.htm#crypt
0785名無しさん
02/06/29 00:13ID:9XF42yOc0786TTK
02/06/29 00:29ID:???このCGIでフォームページを作って
「○○マガジンを購読しますか?」
という質問を作る。でチェックをつけた人は送信する
時に同時に購読させられる。でもってマガジンを複数設定したい。
できますか?
0787nobodyさん
02/06/29 01:04ID:???それ、普通のフォームメールだろ。
アンケートなどをつけられるのは他にいくらでもあるが
単にメールを送るだけ。
受信してどうこうってのは別問題。
0791_.exe
02/06/29 09:29ID:???print "訪問者:$total<br>今日:$count 昨日:$ycount\n";
if(($count % 50)==0){
print "てめぇ50番台じゃねぇか。";
}
■ このスレッドは過去ログ倉庫に格納されています