★三 【 スクリプト改造工房 PART 9 】 ★三
#================================
# スレッドの説明
#================================
「スクリプトを改造したいけどやりかたわかんないよー」という人がいましたら
ここで聞いてください。ひょっとしたらアドバイス出来るかもしれません。
質問するときは以下の点に注意して書いて下さい
(1) そのスクリプトの内容と置いてある場所を明記する (txtファイルでUPすればなお良い)
(2) どんな風に改造して欲しいのか? (完成イメージHTMLを用意すればなお良し)
(3) 出来るだけ詳しく書くこと。少しは自分で考えること。できれば御礼も言ったほうが良い
※答えてくれないからといって逆ギレする厨はお断り 2chしか頼れない人が礼儀語るとかここは面白いインターネッツですね >>557
ありがとうございます。
書き込み直後、書き込んでいただいたようで申し訳ありません。
現在、ローカルサーバーを立て上げて擬似的にCGIを動かしています。
(動きもしない中途半端なCGIをサーバーにあげてサーバーをダウン
させるような馬鹿な真似はマナー違反になりますのでできません)
よってエラーコードは出てきません。 真っ白になるだけ、ということです。
このローカルで走らせている時に更新ボタンを押すとその直前に書き込んだ
ものがまた次の書き込みとして現れてしまう、という現象がおこったり
しています。 また2.htmではサーバ名としてLocalhostと出てきますが、
このようにしたいのですがどうやっても1.htmではこけて白い画面が
出てきてしまう、という現象です。
まだ必要なことがありましたらお知らせいたします。
丸投げは簡単ですし、その方が動作させるのには確実かもしれません。 時間
の節約にもなると思います。 しかしできる範囲でやってみたいと思っています
(そうでなければ3日も一人で悩まず最初から2chに頼っています) >>562
ちょっとそのローカル鯖の環境を書いてみ。なんか色々前提と現象がおかしい。 >>559
3と5はきちんと読みました。 私の書き込みを全く読んでいないのはどちらでしょうか?
3で書かれております、ソースの提示は、私の書き込みの中にきちんとソースのリンク
1.htm 2.htm として入っています。 最低限のマナーです。
5はローカルなので記録がありません。
>564
ありがとうございます。
とても古い本をオークションで手に入れたものらしく、約10年前の本です。
CGIでつくるインタラクティブWebページという本です。
この本の中にあるPerl for win32 というのとAn HTTPDというものを使って実験しています。
とりあえずできましたら549内に 1.htm 2.htm というリンクを貼ってあり、その先に
ソースを開示しておりますので(他の方のソースですのできちんと後から解決後に削除するつも
りでソースそのものは2chにはあげていません)見ていただけますでしょうか。 追加になりますが
とても古い本をオークションで手に入れたものらしく、
友達が「こんな本あるけど要る?」と言ってくれて面白そうだなあ、とただでもらって私は飛びついたのが約2月ほどまえです(地獄の一丁目)。他のCGIファイルではソースの改変というより、レ
イアウトの変更などは自分でもできたのですが、今回のように幾らやっても勝手に
自動で書き込みが行われる、ということは他のスクリプトではなかったので訳が
わからなくなりました。 また550に書きましたように2.htmを参考にしていろいろと
入れてもみたのですけど、どうしても真っ白になってしまい(2.htmは1.htmの改良版
とのことだったのでなんとかなるのかと思ったのですが)、どうしてもブラウザ名と
IP表示ができずに困りました。おわかりになる範囲で結構ですのでヒントをいただける
とうれしく思います。 >>564
いや、>>5をちゃんと読めば「ローカルなので」なんて答えは出てこない。
いまお前がやることは冷静に>>5を呼んで実践することだ。まず冷静になれ。話はそれからだ。 なんか凄いヤツが来てるなw
質問に全く関係ないエピソードとか要らんわw スレ検索もできない人だから仕方ないよ
理解できないことを素直に認めることもできなさそうな人だし 10年前の本に添付されてるperlにCGIモジュールが付いてるとは思えんが・・・。
どちらにせよperlのverも書けないんじゃアドバイス以前だな。 なんかここの板って9人のカスと1人のまともなひとでできているスレですね・・・
教えられるほどの技術のある人が一人で残りの9人はどうでもいいことでさわいでいるだけの知能のない猿というか、言い負かされて悔しくてわめいているだけのチンパンジーというか。
Perl 5.003
>>567
二行目にuse CGI::Carp qw(fatalsToBrowser); を追加すると今まで動いてい
たスクリプトも動かなくなってしまいます(ご自身で1.htmの二行目に追加
して試してみてください)。
正月だから技術のある人はみなさん、お休みで小学校から逃げてきたチンパン
ジー集団ばっかなのだろうか?(567さんなどの一部を除く) >>570
CDが付属していました。
中にスクリプトやPerlなども全て含まれていました。 >>567
5の書き方がまずいですね。 再度検索して試してみました。
##use CGI::Carp qw(fatalsToBrowser);
にしないと動きませんよ。 ちょっとこれでしばらく再度がんばってみます。
またご連絡いたします。 ありがとう。 記載ミス。
#use CGI::Carp qw(fatalsToBrowser);
にしないと動きませんでしたよ、の間違いでした。 >>571
お前は煽れた立場じゃないだろ。少し考えて発言しろ。俺ももう少しで「半年ROMってろ」と言うぞ。
で、実際にCGI::Carp組み込んでも普通に「Can't locate jcode.pl in @INC」って出るけどな。
jcode.plが無いってことだな。お前ちゃんと全部のスクリプトうpれよ。あとhtmlでうpするとかおかしいだろ。 >>573-574
それコメントアウトしてるだけじゃねぇか・・・お前には改造はまだ早いよマジで。 本当に酷いなコイツw
なんでこんなレベルで改造なんて大それたことしようとしてるんだ?w >>571
× なんかここの板って9人のカスと1人のまともなひと
○ 1人のカスが書き込みしまくっている 【CGI名】YY-BOARD v6.3 Rev2.67
【配布先URL】http://swanbay-web.hp.infoseek.co.jp/yybbs/index.html
【ヘルプ内容】
1.投稿記事のプレビュー機能をチェックボックスかラジオボックス型にし、
プレビューを見ながらの内容修正を、何度か繰り返せるようなフォームにしたい。
2.入力された名前に応じて、自動でアイコンを選択できるようにしたい
この二つの改造をしたいのですが、自分では知識が足りず…
どなたかお力をお貸し頂けませんでしょうか?宜しくお願い致します。 >589
反応を下さってありがとうございます。
プレビュー機能ですが、regist.cgiの1330行目に
<input type=radio name=mode value=previewmode>
を入れてみたところ、プレビューを繰り返す事には成功したように思うのですが、
肝心のフォームを出す事ができない状況です。
1355行の下に
EOM
# 修正フォーム
require $formpl;
&form($nam,$eml,$url,'??',$ico,$col,$sub,$com,$sm);
print <<EOM;
と入れてみたところ、フォーム事態は出現するのですが、記事の内容などがフォームに入っておらず、
そのままプレビューを押してみても、フォームの内容が反映されません。
現在はフォームにプレビューボタンを設置しようと試行錯誤している途中です。
よろしければ、アドバイス等頂ければ幸いです。 >>590
<input name="hoge" value="$hoge" type="text" /> # $hogeは引数
とか
あるいは、POSTされた内容が取得できてないとか
$hoge = $q->param('hoge');
プレビューと投稿の振り分けは
<input name="post" value="投稿" type="submit" />
<input name="preview" value="プレビュー" type="submit" />
両方を用意して
$mode = $q->param('post') || $q->param('preview') || undef;
みたいなのが個人的には好き( ´艸`) >>591
早速試してみます、ありがとうございます!
確かにチェックボックス等より、ボタンの方が投稿する時に楽ですよね、
実装頑張ってみます。
他にもアドバイス等あれば、是非ご助力お願いしますね。
それでは、また書き込ませて頂きます。 連続投稿失礼します。
1355行の下に
<form action="$registcgi" method="$method">
<input type="hidden" name="comment" value="$in{'comment'}">
EOM
# 修正フォーム
require $formpl;
&form($nam,$eml,$url,'??',$ico,$col,$sub,$com,$sm);
$hoge = $q->param('hoge');
print <<EOM;
</form>
と記述したところ、フォームに記入した内容をプレビューする事はできるのですが、
相変わらず、フォームに内容が出ず、そのまま投稿すると、新規での投稿扱いになってしまい、
返信ができない状況です。
>591さんの言うとおり、POSTされた内容が取得できてないのだと思うのですが、
どこを弄ればいいのか、私の知識ではお手上げ状態でして…。
ご助力お願いしたく書き込ませて頂きました、宜しくお願い致します。 要点だけ
・チェックボックスを追加 at sub form{} in lib/form.pl
# 例えば、nameはpreviewとする。valueは真になるなら何でもいい
・sub preview {} を追加 in regist.cgi
# ここのブロックの中にプレビューで表示したいものを書く。
# &header はヘッダ生成(?)、最後にexitしておく。
・最初のほうに分岐を設定 at sub regist{} in regist.cgi
# ex.) &preview if $in{'preview'};
name=hogeの値をとるときは$in{'hoge'}
>>588を投稿させて頂いたものです。
>594さんに頂いたアドバイスを元に頑張ってみたのですが上手くいかず、
再度お力添え頂きたく思い、投稿させて頂いております。
現在、プレビューボタンの設置はできたのですが、
大元の時間でのプレビュー表示を外してしまうとプレビューが表示されません。
あまり質問ばかりするのは教えて頂く側として失礼だと思い頑張ってみたのですが、
どうにも自分の知識では解決できず…。
ご助力願えればと思います、宜しくお願い致します。 >>588
2について
メモ帳でもなんでもいいのでテキストエディタでnameicon.cgiという名前のファイルを作る。
そのファイルの中に以下のような感じで名前と画像のファイル名を書き込む。
太郎<>cow.gif<>
次郎<>dog.gif<>
花子<>zou.gif<>
画像のファイル名はinit.cgiの$ico1に書いてあるものにする。今後追加したり削除したりする場合は
nameicon.cgiを書き換えてupする。upする場所はregist.cgiとかと同じ場所。
そうしたら、regist.cgiのregistサブルーチンの # フォーム入力チェック の次あたりに以下を書き込む。
# 名前によってアイコンを指定
open(IN,"nameicon.cgi") || &error("Open Error: nameicon.cgi");
my @list = <IN>;
close(IN);
foreach (@list) {
my ($myname,$myicon) = split (/<>/);
if($in{'name'} eq $myname){
$in{'icon'} = $myicon;
last;
}
}
こんな感じでどうでしょう?試すときはバックアップを取っておいてください。 >596 KENT厨さん
反応下さりありがとうございます。
教えて頂いた通りしたところ、無事にアイコンが自動選択されました。
ありがとうございます!
一つ質問があるのですが。こちら、記事の修正をするとアイコンが自動選択されず、
一番上に設定したアイコンが選択されてしまいました。
libフォルダのeditlog.plかな、と思い触ってみたのですが上手くいかず、
宜しければご教授願えればと思います。 >597 の修正をさせて頂きます。
× 記事の修正
○ 管理人権限での記事の修正
です。
レス消費申し訳ありませんでした。宜しくお願い致します。 >>597
admin.cgiの中のadminサブルーチンの中に
# 修正実行
というのがあると思うので、その最初のほうに>>596と同様に
# 名前によってアイコンを指定
open(IN,"nameicon.cgi") || &error("Open Error: nameicon.cgi");
my @list = <IN>;
close(IN);
foreach (@list) {
my ($myname,$myicon) = split (/<>/);
if($in{'name'} eq $myname){
$in{'icon'} = $myicon;
last;
}
}
を加えてみてください。それと、editlog.plの中のedit_logサブルーチンにも
# フォーム入力チェック
というのがあるのでそのすぐ後ろとかに同様の処理を追加してみてください。ただし、
editlog.plのほうはnameicon.cgiを「../nameicon.cgi」にしてください。
open(IN,"../nameicon.cgi") || &error("Open Error: nameicon.cgi");
ここは投稿した本人が記事の修正をした場合のものです。
こんな感じでどうでしょうか? 迅速な反応、お手数お掛け致します。
記事修正でのアイコン選択、無事に出来ました。
>>588、ヘルプ内容の2番は解決とさせて頂きます。
KENT厨さん、本当にありがとうございます!
1につきましては、もしアドバイス等ありましたらお力添え頂ければと思います。
宜しくお願い致します。 よろしくお願いします。
多分とても簡単な事だと思うのですが、どう調べればいいのかが分からず…
$filepassにファイルのパスとファイル名が保存されています。
/data/aaa.zip
/data/b/abc.zip
のような形です。
これをファイル名だけ表示させたいのですが、どのようにしたらよいでしょうか?
$fname = 「スラッシュ以下だけを抜き取り?」
の形にしたいのですが、よろしくお願いします。 アップローダをD&D、複数同時アップに対応させたいのですが躓いています。
JavaScriptも入ってきてしまうのですが・・・
どなたかよろしければおつきあいください。
【. CGI名 .】 Hello-UP + plupload
【配布先URL】 Hello-UP: ttp://idol.nm.land.to/
plupload: ttp://www.plupload.com/index.php
【ヘルプ内容】 Hello-UPのアップロードフォームをpluploadに差し替えたい。
Hello-UPのupload.php中の<head>の中にスクリプトの呼び出しと
$upload = <<<UPLOADの部分に設置をしたところ、
オリジナルファイル名でのデータのアップだけは可能になりました。
その後のアップロードログへの書き込み、サムネイルの作成にどう対応したらいいのかわかりません。 要するに入り口だけ作った、ってとこでしょか。先長いですね。
先に聞いておきますが、API Documentのどの辺で引っかかってます? 先は長そうですか。
トライアンドエラーで少しのつぎはぎで何とかなるかな?と思っていじり始めてみたのですが。。
API Documentのどの辺と言われてもよくわからないくらいに基本的なところもわかりません。
ヘタに手を出してしまったかな。。
この辺をみてみるといいよ、とかでもありましたらお願いします。 うーん、せめて使おうとしてるモジュールのドキュメントは一通り目を通してください。
じゃないとこちらも話がし辛いです。習得意欲が無くて実装のみ楽をしたいなら丸投げへどうぞ。 実は丸投げの方に誘導されてしまうかなっていう気はしてました。。
ちょっとここで質問するには無知すぎたようですね。
もう少し勉強して出直してきます。
ひとまずありがとうございました。 ヘルプの方、一旦終了させて頂き、一度丸投げの方に助力をお願いしてみようと思います。
回答・ご助力して下さった方々は本当にありがとうございました! 【 CGI&PHP名 】ReverseAccess
【 配布先URL 】http://www.cj-c.com/cgi_s/access.htm
【 依頼期限 】1ヶ月くらい
【 依頼内容】acmgr.cgiを弄ってurl.logに書き込む項目(サイトの紹介)を一つ増やしました。
■デフォルト yahoo%5c%2eco%5c%2ejp;Yahoo!;http://www.yahoo.co.jp/;
■改 yahoo%5c%2eco%5c%2ejp;Yahoo!;http://www.yahoo.co.jp/;アホー(サイトの紹介);
その増やした項目をaccess.cgiを開いた時に表示されるようにしてほしいのです。
■acmgr.cgi弄った箇所
50行目近辺
$url=$FORM{'url'};
$z = $FORM{'z'};#■$zコメント追加
$andor=$FORM{'andor'};
132行目近辺
($u,$t,$url,$z) = split(/;/,$URL[$_]);#■$zコメント追加
139行目近辺
print"<th>$t</th><td>$u<br><a href=\"$url\" target_=\"_blank\">→ $url</a><br>$z</td></tr>\n";#■$zコメント追加
164行目近辺
print OUT "$U;$t;$url;$z;\n";#■$zコメント追加
222行目近辺
if($_==$FORM{"G"}){$URL[$_]="$U;$t;$url;$z;\n"; $f=1;}#■$zコメント追加
236行目近辺
($ur,$ti,$urls,$z) = split(/;/,$Edit);#■$zコメント追加
252行目近辺
print"<tr><td bgcolor=\"$stripe\">コメント</td><td><input type=\"text\" name=\"z\" size=\"50\" value=\"$z\"></td></tr>\n";#■$zコメント追加 ■access.cgi
180行目近辺
($u,$n,$tu,$zc) = split(/;/,$urls);#■コメント追加,$zc
229行目近辺
($u,$n,$tu,$zc) = split(/;/,$_);#■コメント追加,$zc
319行目近辺
$Rankh.="<td><a href=\"$url\" target=\"$TGET\" title=\"$title\">$title_url</a><br>$zc</td>";#■コメント追加,$zc
これだと全てのサイトの紹介が、url.logの一番最後の行のデータで表示されてしまうので困っています。
どなたか助けてください。 url.log自体には正常にデータ記録されてんだよね? >>613
ftpからダウンロードしてチェックしましたが、問題はないようです。
また、管理者モードacmgr.cgiから見ても問題ないです。
でも、access.cgi?countから見ると、駄目なんです。 >>611-612
もっといい方法があるんだろうけど、これだとどう?
access.cgi
319行目近辺
$Rankh.="<td><a href=\"$url\" target=\"$TGET\" title=\"$title\">$title_url</a><br>$zc</td>";#■コメント追加,$zc
このすぐ上に以下をコピペしてみたらどう?
undef $zc;
foreach (@urls) {
($u,$n,$tu,$zt) = split(/;/,$_);
if($tu eq $url) {
$zc = $zt;
last;
}
}
うまくいかなかったらごめんね >>615
レスありがとうございます。
早速コピペしてみたところ、問題なく動作しました。
本当にありがとうございました。
【. CGI名 .】 w3Analyzer
【配布先URL】 http://fmono.sub.jp/v_w3a/howto.php
【ヘルプ内容】
このスクリプトとは直接関係ないのですが、利用してるって事で…
古いアクセス解析のせいだと思うのですが、最新のOS・ブラウザに対応していません。
(Windows7をMeと言ってみたり、iPhoneがUnknown OSだったり…IE7をサファリって言ってみたり)
と言う事で、そのリストを自分で更新したいのですが、どこかにOSとブラウザのリストってないでしょうか?
って、ここで聞いてもいいものでしょうか?
誘導されたきました。
【. CGI名 .】 Pallet Town v3.30
【配布先URL】 閉鎖?
【. 置き場所 .】 ttp://www.dotup.org/uploda/www.dotup.org1223649.rar.html(pass:kaizou)
【ヘルプ内容】
The Roomで配布している「Access Denial」(Ver1.43)を「Pallet Town」(配布HP閉鎖?)に使用しているのですが、
pallet_town.cgiにrequireでa_deny.cgiを指定しても、管理画面から見れる“アクセス”に履歴が残りません。
“パソコン”のログは残るのですが、“アクセス”にも履歴が残るようにするにはどうすればいいのか悩んでます。
Pallet Townの構造が特殊なのでしょうかね…
Access Denial
http://exdreams.net/room/contents/e_acsdeny.html
よろしくお願いします。 >>620
そうなんです。
解析対象のCGIにrequireで指定します。
KENT-WEBにあるWeb ForumとかWeb Patioとかだとうまくいくんですけどね。 改造仕様にも流れの早いどっとうpろだに上げるようなヴァカは… 【 CGI&PHP名 】 http://www.kent-web.com/bbs/epad.html
【 ヘルプ内容 】 携帯から閲覧したときに、ページの一番上にモバイルアドセンス
を表示したいです。
ptel.plの224行付近(&data("<font color=\"$t_color\">$title</font><hr>\n");)
にモバイルアドセンス(CGIコード)を書きましたがエラーになります。
よろしければ、アドバイス宜しくお願い致します。 補足
223行目
&data("ここにモバイルアドセンスのCGIコードをそのままコピペ\n");
Script Errorになります。 アドセンスのs−スコードって、&dataの中とかじゃなくて
html出力の直前に直接挟み込むものなんじゃないの?
【 CGI名 】web拍手CGI配布版
【配布先URL】http://www.webclap.com/
【ヘルプ内容】
コメント入力フォームに、入力した文字数をカウントする機能を付けたいです。
clapinit.cgi内のヘッダ部分(67行目辺り)に以下を追加し、
print '<script type="text/javascript"><!--',"\n";
print 'function ShowLength( str ) {',"\n";
print 'document.getElementById("inputlength").innerHTML = str.length + "文字";',"\n";
print "}\n";
print "// --></script>\n";
clap.cgiのフォーム部分(155行目辺り)を以下に変更しました。
print '<TEXTAREA rows=3 cols=40 name=hitokoto onkeyup=ShowLength(value);></TEXTAREA><br>',"\n";
print '<p id="inputlength">0文字</p>',"\n";
実行すると画面が真っ白になってしまいます。
要は、ヘッダ部分に
<script type="text/javascript"><!--
function ShowLength( str ) {
document.getElementById("inputlength").innerHTML = str.length + "文字";
}
// --></script>
を追加したいのですが、どうすると正解なのでしょうか。
長くなってしまいすみません。
お力添えいただけると嬉しいです。 >>628
真っ白になったときのHTMLソース見てみ >>628
JavaScript 文字数カウント でぐぐったら
最初に出てくるやつですよね?
とりあえずこれをコピペしてみてください。
自分で試してみたらこれで文字数が増えていきました。
clapinit.cgi
print '<script type="text/javascript"><!--',"\n";
print 'function ShowLength( str ) {',"\n";
print 'document.getElementById("inputlength").innerHTML = str.length + "文字";',"\n";
print '}',"\n";
print '// --></script>',"\n";
clap.cgi
print '<input type=text name=hitokoto size=50 maxlength=50 onkeyup="ShowLength(value);"><br>',"\n";
print '<p id="inputlength">0文字</p>',"\n"; >>630-632
ありがとうございます!
>JavaScript 文字数カウント でぐぐったら
>最初に出てくるやつですよね?
はい、それをコピペしていました。
ソースを見ても見た感じ同じだったのですが、>>632さんのをコピペしてみたら正常に動作しました。
大変助かりました。ありがとうございました。 【 CGI&PHP名 】タウンゲーム(town5_8)言語はPerl
【 配布先URL 】http://www2s.biglobe.ne.jp/~tatsuji/souko/souko_index.htm
【 依頼期限 】 5ヶ月
【 依頼内容 】http://www.seijyuu.com/game/link/town/にある
他のタウンの改造を自分のタウンでも使えるようにしたい。
(他のタウンじゃなくても独自のものを作られるのなら教えてください)
ちなみに自分のタウンはhttp://exout.net/~ramusu/cgi-bin/town5_8/town_maker.cgiです。
【. CGI名 .】 アクセス制限・強化タイプ (WebProtect)
【配布先URL】 http://www.kent-web.com/pwd/protect.html
【. 置き場所 .】 上と同じ
【ヘルプ内容】 認証が終わった後のページをCGIにしたい。
ユーザー登録時にユーザー名を登録できるので、そのユーザー名を表示させたいです。(○○さんのページ)
そのため、認証後のページをCGIにしたいと思っていますが、CGIにすると、内容全部表示してしまいます。
(#!/usr/bin/perl〜を全部表示してしまう。)
protect.cgiのサブルーチン「fileOpen」の"# HTMLファイル移動"部分を変えればいいとは思うのですが、どう変えて
いいかがよくわかりません。
また、この部分がCGIになることで、認証後のページアドレスがわかってしまったとしても問題はありません。
(設置したいのはCGIなので、IDが変数として送られなければエラーページを出せばいいだけですよね)
よろしくお願いします。 >>636
というか、設定(init.cgi)の$secretを「http://〜/nantoka.cgi」の書式で書けばいいだけじゃないんか? >>637
返答ありがとうございます。
>というか、設定(init.cgi)の$secretを「http://〜/nantoka.cgi」の書式で書けばいいだけじゃないんか?
そこはファイル名が変わるので、「./××.cgi」に変更してます。
ではなくて、「http://〜」で記載しないといけないということでしょうか? いや、nantoka.cgiは単なる例えなんだけどさ。
つかinit.cgiに「# → CGIの場合のみ http://から記述すること」って書いてあるじゃない?
>>639
あ、下に書いてましたね…
見落としてました。
んで、いろいろ考えたんですが、"認証が終わったら他のページに飛ぶ"スクリプトとばっかり思ってたのですが、
サブルーチン内で"認証後のページをプリント(この表現あってます?)"してるだけですよね。
単純にその部分を書き換えればいいんじゃねってことに気がつきました。
認証処理の隠しファイル出力サブルーチン「fileOpen」をファイルを開くじゃなくて、そこに直接認証後のページ
を作成することで無事解決できました。 >>640
何を見てそう思ったんだか知らんが、動作は単純で
・飛び先がhttp://で始まってたらLocationでジャンプさせる
・ファイル名だったらそのファイルの内容をcontent/htmlで表示する
ってだけの代物だよ。ま、後者の動作部分に直接組み込むのは間違っちゃいない。 CGIの中で他のCGIを動作させようとしているのですが、うまく出来ません。(変数が送れない)
requireで呼び出したCGIに変数を送るにはどうしたらいいのですか?
$y = 1;
$m = 1;
#テスト用表示
print "$y◆$m◆\n";
require '../year/year.cgi';
これでやってみたのですが、year.cgi側のエラーメッセージ「"$y"の指定がされていない」となってしまいます。
year.cgi側からエラーメッセージを表示しているので、year.cgiは動作していると思います。
よろしくお願いします。
>>642
$yをyear.cgi内で定義したならrequireすれば受け取れる
$yがyear.cgiを実行した結果格納されるのだとしたらちょっとした手間が要る
例えば同じディレクトリに year.cgi があったとして
$y = `year.cgi`;
と書けば、一応 year.cgi を実行してその結果を$yに格納できんこともない
いろいろ細かい制約もあるので、常に期待した通りに動くとは限らんし、今回オマエのやりたいことと違うのかもしれない 【CGI名】 YY-BOARD掲示板スパム対策・掲示板荒らし対策版
【配布先URL】 http://antispam-bbs.xii.jp/yybbs/index.html
【ヘルプ内容】 iPhone等スマートフォンへの対応
現在PCと携帯電話とのアクセスで振り分けを行っているのですが
これにスマートフォンでのアクセスの場合の振り分けを行い、
スマートフォン用の表示を作成したいのです。
どのようにすればよいのでしょうか?
どうぞよろしくおねがいします。 【 CGI名 】ZooChat Ver:5.32m3.10 トピック機能改造バージョン
【配布先URL】http://www.makoto-mill.com/zoochat/ (閉鎖)
【 置き場所 】 ttp://uproda.2ch-library.com/lib407016.txt.shtml (chat_in.cgi.txt パス:kaizou)
ttp://uproda.2ch-library.com/lib407017.txt.shtml (chat_start.cgi.txt パス:kaizou)
【ヘルプ内容】
まこと氏が改造し以前配布していた、
zoochatのまことさんバージョンのトピック機能が付加されたスクリプトの改造方法をご教授していただきたく書き込みさせていただきます。
出来るだけ詳細な説明をするために長くなってしまいました…。 おさるさんバイバイされてました…。つづきです。↓
トピック機能は、チャットの発言欄に「お肉の話/topic」と入力して発言ボタンを押すと、
チャットのログ画面の上部に「現在の話題:お肉の話」というコメントが追加されるものです。
ちなみにトピックをリセットするには「end/topic」と入力する必要があります。
私が行いたい改造は、チャットの入室画面でトピックを指定してから入室をする…という改造です。
トピックは「topic(部屋番号).txt」というテキストをあらかじめ準備して、
「〜〜/topic」と発言するたびに内容が上書きされる仕様になっているようです。
このテキストの中身は「お肉の話<>肉好き<>#666666」(トピック<>チャットネーム<>設定した文字色)と一行で書かれた非常にシンプルなものです。 最初に入室画面に、
print "<B>話題の設定</B><INPUT TYPE=text NAME=\"comment\" SIZE=\"60\" VALUE=\"/topic\"><BR>\n";
と入力してテストを行いましたがだめでした。
最初に入室画面に、
print "<B>話題の設定</B><INPUT TYPE=text NAME=\"comment\" SIZE=\"60\" VALUE=\"/topic\"><BR>\n";
と入力してテストを行いましたがだめでした。
chat_start.cgiの673行目「#発言メッセージ書き込み」693行目以下「#Topic機能修正start」〜「#Topic機能修正End」までが関係があるかと思い、
そのままソースをコピペしましたが(浅はかですがそれ位の知識しかなく…。)
やはりトピックの設定はうまくできませんでした。 チャットの発言という方法ではなく、
print TOPIC "$comment<>$chatname<>$color";
$topic = $comment;
$topicname = $chatname;
$topiccolor = $color;
$comment = "お部屋の設定を致します。";
この辺のソースを生かして、直接「topic(部屋番号).txt」というテキストをいじれればいいのかもしれませんが、
その構文を組み立てる技術がありません。
(アップローダーにcgiをアップしましたが、トピック機能の該当箇所、「話題の設定」ではなく「お部屋の設定」になっております。)
すみませんが、ヒントだけでもご教授していただきたく思います。
わかりづらくてすみません。そして投稿に時間がかかりすみません。よろしくお願いします。 長いわ意味不明だわ2ch初心者だわでどうすりゃいいんだか。 チャット入室時に後から来たやつがどんどんトピック書き換えていくってこと?
それとも一番最初に部屋作ったやつがトピック設定するってこと?
あと>>648のソースだけじゃ動かないよ。ファイルが足りない。 意味不明な書き込みにご親切にレスしてくださり本当にありがとうございます。
書き込みなれてなくてすみません。
>>653
後入室に関して全然考えてませんでした。
先入室した方がトピックの決定権・設定権があって、
後入室の方はトピックがいじれないほうがいいです。
ファイルは一通りそろっているのですがかなり量が多いです。
圧縮してアップローダーにアップしておきます。
ttp://gaatsu.ps.land.to/up/src/gt_3815.zip.html(パス:kaizou)
よろしくお願いします。 >>655
一番最初に入室したヤツは入室後もトピック変更できるようにしたいってこと?
つかファイル落とせねーんだけど。 >>656
そうです。
最初に入室した人だけトピックが変更できれば嬉しいです。
でも2番目以降の入室者にトピック作成のテキストボックスが隠される事が出来たら十分です。
ありがとうございます。
パスkaizouでダウンロード確認出来ましたが、もし別のロダが良ければアップし直します。 皆さんレスしてくださってありがとうございます。
色々考えたのですが、
無理して改造をせずに今自分に出来ることをしたいと思います。
初心者がスレを汚してしまって本当にすみませんでした。
ファイルは全て削除しました。
本当にありがとうございました。感謝です。 まる投げでお願いする事なんでしょうが、無くなったみたいなのでこちらに来ました。
板違いでしたらごめんなさい。
【. CGI名 .】 アイコンTeaChatV2
【配布先URL】 http://blog.tirno.net/e212.html
【.動作サンプル .】 http://www.tirno.net/chat2/chat.cgi
【ヘルプ内容】 外ROMが出来ないようにといいますか、外部から直接ログが覗けない様にしたいのですが、お願いできますでしょうか。(入室画面で下フレーム(ログ)を表示しない 設定ではダメでした)
実はchat荒らしに困っていまして、2chにログのコピペを貼っては誹謗中傷、
また2chにhttp://〜/chat.cgi?relb=on&view=on&window=500&n_color=#FFFFFF&name=○○○○ この様なリンクを貼っては参加者欄に中傷のコメントを表示させたり
アイコンteachatはある程度の串を拒否できるので使いやすいのですが、この攻撃には困っています。
どうかよろしくお願いします。
>>659
チラ見だけど大改造が必要。というか運営的な対処を先にするべきだと思う。 >>660
さっそく見て頂いてありがとうございます。
そうですかぁ・・・かなり多機能なスクリプトだったので残念です。
また、困った事がありましたら相談させて頂きたいと思います。
ありがとうございました。