【 スクリプト改造工房 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化済み)
0790nobodyさん
03/02/09 14:34ID:???ところどころ $$FORM になってるところがあるぞ。大丈夫か?
プログラムなんだから、1文字でも違ったら動かないよ。
あと、unlessは制御構文であって、ユーザー関数ではないんだが…。
Perlの基礎をこのスレで質問されても困る。自分で調べて学習すべし。
0791本7 ◆HON7/awDa.
03/02/09 14:42ID:???0792nobodyさん
03/02/09 17:15ID:FJkJ4b09現在Kent-Webさんの「MT−Board」という2ちゃんねる風の掲示板を
使っています。
http://www.trimmer-navi.com/cgi/mtbbs/mtbbs.cgi
http://www.trimmer-navi.com/mtbbs.txt (テキスト)
上記のプログラムなんですが、現段階では中段にある{新着スレッド}の
テーブルに現れるスレッド数と、それのテーブルの下にスレッドごとに
現れるテーブルの数が同じにしか設定できません。
2ちゃんねるの様に、「新着スレッドが表示されている数」と「その下に
続くテーブルの数」を変更できないものでしょうか・・
もしアドバイスいただけるようでしたら、よろしくお願いします。
0793れもん
03/02/09 17:19ID:???ラーメソだぞ!!ラーメソ!!!!!
俺は30分でどんぶり3杯も食えるんだぞ!!!
博多の冬は寒かったんだぜ。
0794れもん
03/02/09 17:19ID:???0795nobodyさん
03/02/09 17:35ID:???214行目、メニュー部表示の「#新着スレッド」内の以下の部分
if ($i >= $menu) { last; }
この$menuを、スレ一覧で出したい数にすればいいみたい。
テーブルの数は従来どおり、冒頭の$menuで設定。
例:if ($i >= 100) { last; }
テストしてないんでうまく動くか分からんけど。
0796nobodyさん
03/02/09 17:44ID:FJkJ4b09返信ありがとうございます。
nobodyさんの例の様に、100でやってみました。が
新着スレッドもそれに続くテーブル数もやはり同じ100に
なってしまいました。
0797795
03/02/09 17:48ID:???あっ、ごめん。
そこは読み込む行数を決めてるとこだから、そりゃ両方変わっちゃうわな。
ちょっと今考えるから。ただこのあと用事があるからあとになるかも……
0798nobodyさん
03/02/09 17:49ID:FJkJ4b090799nobodyさん
03/02/09 17:55ID:???わかった。たぶんこれでいいと思う。
すぐ下に「#スレッドリンク」ってのがあって、 foreach (@num) { っていうのが
2つあるよね。
この2番目のほうをこう書き換える。
for ($i = 0; $i < 10; $i++) {
10の部分が、テーブル表示数。スレ表示数は$menuで設定(さっきと逆)。
これでいいはずなんだけど……
0800nobodyさん
03/02/09 18:00ID:FJkJ4b09に書き換えるのですか?
0801nobodyさん
03/02/09 18:03ID:FJkJ4b09書き換えたら上記のプログラムの様になりました。
下に続くテーブルの2段目からの文章が消えてしまいます。
0803nobodyさん
03/02/09 18:13ID:FJkJ4b090804nobodyさん
03/02/09 18:26ID:FJkJ4b09かなり理想に近いのですが・・今度は新着スレッドの中に謎の「()()()」
なるものが表示されてしまいます。
http://www.trimmer-navi.com/cgi/mtbbs/mtbbs3.cgi
0805nobodyさん
03/02/09 18:40ID:KhuXu5koできました!本当に感謝します。ありがとうございました。
多分OKだと思います。
0806nobodyさん
03/02/09 18:49ID:KhuXu5ko少し問題が生じたのでよろしくお願いします。
スレッド一覧の部分で、下のテーブルに表示されている数の分はリンク
できているのですが、それ以上のリンクになると飛んでくれません。
どうでしょう?
0807nobodyさん
03/02/09 18:50ID:???よく見たら、スレ一覧でテーブルの出てないスレは、クリックしても無反応に
なっちゃってる。(アンカーが同じページ内のテーブルになってるせい)
こりゃCGIのもっと奥のほうから直さないとダメかもしれんね。
お役に立てずにすまんこ。
0808nobodyさん
03/02/09 19:23ID:???これでなんとかなるんじゃないの。
# スレッドリンク
print "<table border=3 cellpadding=10 bordercolor=#FFCCCC bgcolor=#FFEEEE width=\"90%\"><tr><td>\n";
print "<b>- 新着スレッド ※他のスレッドは「スレッド一覧」の中です</b><P>\n";
$thread_count=0;
foreach (@num) {
($num,$sub,$res) = split(/<>/);
$thread_count++;
if ( $thread_count <= 10 ){
print "<a href=\"$script?mode=view&no=$num\">$thread_count:</a> <a href=\"\#$num\">$sub ($res)</a> \n";
} else {
print "<a href=\"$script?mode=view&no=$num\">$thread_count: $sub ($res)</a> \n";
}
}
print "<div align='right'>[<a href=\"$script?mode=alltree\">スレッド一覧</a>]</div>\n";
print "</td></tr></table><br>\n";
補足
if ( $thread_count <= 10 ){
にでてくる数字の 10 は 799 の書いた
for ($i = 0; $i < 10; $i++) {
の 10 ね。別の数字に変えてるなら合わせておいて
変数使って管理したほうがいいと思うが、そのへんは自分でなんとかしる
あと書籍添付スクリプトなんで、これで悩み事解決なら txt は削除したほうがよいと思われ
0809nobodyさん
03/02/09 19:27ID:???if ( $thread_count <= 10 ){
print "<a href=\"\#$num\">$sub ($res)</a> \n";
} else {
print "<a href=\"$script?mode=view&no=$num\">$sub ($res)</a> \n";
}
0810nobodyさん
03/02/09 20:01ID:???>>808-809 に加えて #スレッドリンク の少し上、@numを取得するところの
if ($i >= $menu) を if ($i >= 10) に、
スレッドを表示しているところの foreach (@num) { を
for (my $i = 0; $i < $menu; $i++) {
$_ = $num[$i];
とすればいけると思う。
0811本7 ◆HON7/awDa.
03/02/09 20:16ID:???でもまだ問題があってindexを開いた際にクッキー情報の名前もトリップ変換してしまい名前欄を
はみだしてしまいます。
396行の名無しさん処理のunless()のあとelse{}で398行〜425行のトリップ処理を加えました。
これを何行目あたりに入れることでこのバグを回避できますか?
自分でも悩んでるんですどうも全体の流れがつかめないもので・・
こちらでソースは更新しました。
http://hon7.hp.infoseek.co.jp/cgi-bin/test/bbs3.txt
よろしくお願いします
0815nobodyさん
03/02/09 21:25ID:???0816nobodyさん
03/02/09 21:44ID:???見出しだってちゃんとでてるのに。世話のかかる子ね。
これでなんとかならんか。試してないけど
クッキー発行の処理してからトリップ変換をする。
#==================================================
# 情報の修正(名前)
#==================================================
{
foreach $key ('FROM', 'MESSAGE', 'mail') {
$FORM{$key} =~ s/</</g;
$FORM{$key} =~ s/>/>/g;
$FORM{$key} =~ s/\"/"/g;
$FORM{$key} =~ s/\r\n|\r|\n/<br>/g;
}
}
(中略)
#==================================================
# クッキー発行 (440行目付近)
#==================================================
{
(中略)
}
#==================================================
# トリップ変換 (クッキーの処理終わった後に挿入)
#==================================================
0817nobodyさん
03/02/09 21:44ID:???#==================================================
# トリップ変換 (クッキーの処理終わった後に挿入)
#==================================================
{
my $trip = $name;
$FORM{'FROM'} =~ s/◆/◇/g;
if ($FORM{'FROM'} =~ /#(.+)/){
my $key = $1;
my $salt = substr($key."H.", 1, 2);
$salt =~ s/[^\.-z]/\./g;
$salt =~ tr/:;<=>?@[\\]^_`/ABCDEFGabcdef/;
$trip = ' ◆</b>' . substr(crypt($key, $salt), -8) . '<b>';
}
# トリップを名前に追加
$FORM{'FROM'} =~ s/#.+/$trip/ if ($trip);
}
#==================================================
# パス情報(名前)
#==================================================
0818本7 ◆HON7/awDa.
03/02/09 22:09ID:???恩にきります。何かこのスレに役立てるよう俺もがんがって覚えます。
0819本7 ◆HON7/awDa.
03/02/09 23:39ID:???なぜでしょうか?
更新しました
http://hon7.hp.infoseek.co.jp/cgi-bin/test/bbs3.txt
0820816
03/02/10 13:00ID:???フォームの名前欄に変換後のトリップが残ってるってこと?
「めりこんで残ります。」って表現の意味がわからないです。
実際に動いてるとこ見せてくれます?
それか元のスクリプトってどこで配布してるやつ教えてください。
どうなってるのか自分の目で見てみたい。
0821nobodyさん
03/02/11 08:01ID:???取り込み中みたいですけれどスクリプトをいじくって貰いたく来ました
えーとこれです
http://mint363.ddo.jp/slx/ulx.cgi
このあぷろだのUPリストのコメント欄をブラウザの表示サイズに関係無く
スタイルシートみたいな物で固定する(サイズ固定)にはどうしたらいいのでしょうか
upロダのスクリプトはこれです
http://mint363.ddo.jp/so.txt
ついでにこれがうぷろだに必要な物+うぷろだ本体スクリプトです
http://mint363.ddo.jp/isiki.zip
ちなみにスタイルシートで文字サイズを固定しようとして1022行目にある
print "<td><b><MOMO><font size=2>$comment</font></td>\n" if($commente);
の<font size=2>を削ったら
スクリプトの155行目で(<BODY><TD>)指定してあるサイズになりました
それで1022行目のスクリプトから<td>を抜いて、他の文字列でサイズを指定しようとしたのですが
<td>を抜いた事によってうぷろだの表示がずれてしまいます
スタイルシートの方法じゃ無理なのでしょうか
話が脱線してしまいましたが
どうかもし暇な方が居られたら、よろしくお願いします
0822nobodyさん
03/02/11 08:22ID:R89Bia6Bスクリプトじゃなくてhtmlの段階だと思うんだけど、
文字サイズじゃなくてテーブルの幅を固定したいってことで良いのかな?
print "<th>Comment [[[この↓部分です]]</th>\n" if($commente);
ってところの<th>を<th width=\"300\">とかにしたら良いんじゃない。
300の部分は勝手に変えるよろし。
0823nobodyさん
03/02/11 09:50ID:???説明の仕方が悪くてすみせまん、テーブルの幅ではなく 文字サイズです
具体的に言うと
[[[この下の部分です]]]の下にある場所の
CNN スペースシャトル と表示されている場所の文字の大きさ(サイズ)を固定したいのです
えーとわかりやすくhtmlであぷしてみました
http://mint363.ddo.jp/test.html
これだとブラウザの表示サイズが「大きい」だとずれてしまうので
表示サイズ中で見て下さい
何がしたいのかというと
観覧者のブラウザに関係無く
どのブラウザで見ても上にupしたhtmlのように見せたいのです
長くなってすみせまんでした、助言頂けると幸いです
0824nobodyさん
03/02/11 12:45ID:???print "<td><b><MOMO><font size=2>$comment</font></td>\n" if($commente);
↓
print "<td class=\"comment\">$comment</td>\n" if($commente);
こうでもしといて147行目からの CSS の設定に
td.comment { font-size:13px ; font-weight:bold ;}
とか適当に追加
これでご要望どおりになると思う。ネスケだと変るけどね。これはブラウザの仕様。
どのブラウザで見ても上にupしたhtmlのように見せたい、そのために文字の大きさを
固定したいという考え方には言いたいことあるけど、そういうスレじゃないのでやめとく。
0825821
03/02/11 15:06ID:???できました!
どうもありがとうございます!!
自分ではcgi作成(1から)の経験が無いので本当に助かりました
>どのブラウザで見ても上にupしたhtmlのように見せたい、そのために文字の大きさを
>固定したいという考え方には言いたいことあるけど、そういうスレじゃないのでやめとく。
やっぱりそうですよね
html勉強時代何処かで固定は良くないとかありました
けれどやっぱり自分のこだわった大きさで見てみたいなーと思ったり
何はともあれ教えてくれてありがとうございました
0826nobodyさん
03/02/11 18:05ID:???0827nobodyさん
03/02/11 18:11ID:???0828nobodyさん
03/02/11 19:57ID:DLCyWGmCif(!$name){$name = "名無し";}
if(!$subject){$subject = "無題";}
if(!$pass){&error("削除パスが記入されていません");}
if(!$comment){&error("コメントが記入されていません");}
このようなエラーサブルーチンに投稿バイト制限を付けるにはどうやったらいいんでしょうか?
0829828
03/02/11 20:02ID:DLCyWGmC0830本7 ◆HON7/awDa.
03/02/11 20:05ID:???cgiの生ログの閲覧禁止とパーミッションに関してはどこで質問したらいいですか?
0831nobodyさん
03/02/11 20:11ID:???DocumentRoot以下には置かないようにするとか、suEXECが有効になっているのならば所有者以外の権限を全て奪うとか。
0832本7 ◆HON7/awDa.
03/02/11 20:14ID:???呼び出しだけにすると403なんですよ
0838本7 ◆HON7/awDa.
03/02/11 20:57ID:???すみません。
700、744、705、755、を試しましたがCGIから書きこみができません。
サーバ規定的な問題みたいなんでレンタル板で手っ取り早く借りれる
無料CGI鯖探してきます。それでまだだめならまた寄せてもらいますわ。
どうもありがとうございました。ペコリ
0839nobodyさん
03/02/11 21:19ID:???阿呆だなあ。
それログファイルのパーミッションか?
あと、infoseekはCGIがnobodyで動くの知ってる?
基本を理解してなきゃ、鯖変えても同じだよ。
0840nobodyさん
03/02/11 21:41ID:???0842初心者
03/02/12 14:44ID:pNFQ2drRttp:/www.abi-station.com/の会社型掲示板
Aどう改造して欲しいか
toripodに対応させて欲しい。
色々なサイトで勉強しつつやってはいるのですが、何度やってもエラーが出てしまいます。
過去ログを使わない場合は消せば良いらしいのですが、よろしくお願いします。
0843nobodyさん
03/02/12 19:47ID:???別ウィンドウで取得した画像URLデータを表示させたいのですが、JavaScripを使うと
クロスサイトスクリプリングの問題で引っ掛かってしまいます。
取得したデータをジャバスクリプトに読み込むのには問題があるのですが、
データを取得する際に、
初めの文字7文字でhtmlかどうか判別(絶対URLでないと受け付けない)、終りの4文字で画像データかどうか判別、違った場合は受け付けないでエラーを返す。
表示する際にhtmlspecialcharsで特殊文字をHTMLエンティティ化、その後str_replace(文字列変換)で切り取り。
としているのですが、まだ問題があるでしょうか。
0844843
03/02/12 19:49ID:???======================ジャバスクリプト=====================
ヘッダー部分に
<script language="JavaScript">
<!--
function MM_openBrWindow(theURL,winName,features) { //v2.0
window.open(theURL,winName,features);
}
//-->
</script>
HTML表示部分
<form name=form1><input type=button name=hyousi2 value=見本を見る onClick=MM_openBrWindow(\"$mihon\",'hyousi','width=260,height=350')></form>
==========================================================
0845843
03/02/12 19:50ID:???表示の時に
$mihon = htmlspecialchars($record_data[9], ENT_QUOTES);
$mihon = str_replace("&", "", $mihon);
$mihon = str_replace(" ", "", $mihon);
$mihon = str_replace("<", "", $mihon);
$mihon = str_replace(">", "", $mihon);
$mihon = str_replace(""", "", $mihon);
$mihon = str_replace("?", "", $mihon);
$mihon =str_replace(",", "", $url);
取得の時に(エラー表示時)
if($mihon!=""){if (substr($mihon, 0, 7) == "http://" || substr($mihon, 0, 8) == "https://") {
} else {
$string .="見本URLが間違っています<br>";
}
if (substr($mihon, -4) == ".jpg" || substr($mihon, -4) == "jpeg" || substr($mihon, -4) == ".png"|| substr($mihon, -4) == ".gif") {
} else {
$string .="見本URLが間違っています<br>";
}}
==========================================================
target=_blankにするしかないでしょうか?
新しくサイズ指定でウィンドウを開く方法他にありますでしょうか?
良い案がありましたらご意見お願い致します。
0846nobody
03/02/12 21:29ID:???0847nobodyさん
03/02/13 14:12ID:???の掲示板にHP宣伝できるように投稿フォームにURLを登録できるように
改造してログにURLを書きこむのには成功したんですが
http://members.tripod.co.jp/bbscgi/log.txt
掲示板を開きトピック一覧は表示されるんですがトピックの内容が表示されないんです。
ログに書きこまれてるURLを消すと正常に表示されます。
何かいいアドバイスがありましたらお願いします。
スクリプト http://members.tripod.co.jp/bbscgi/momoco.txt
http://members.tripod.co.jp/bbscgi/topic.html
0848nobodyさん
03/02/13 15:12ID:???シャットアウトしても送って来る未承諾メールにブチキレてるあなた!
何度も何度もしつこく送って来る非常識なメールにイライラしませんか!?
私達は今夜、そんな出会いサイトに「訪問」(※注)する祭りを盛大に開催します!
2ちゃんねる全板合同です!是非とも皆様お誘い合わせの上、ご来場ください!
老若男女問いません!初心者大歓迎!一緒に彼氏・彼女をつくりましょう!!!
(↑本音とタテマエ)
訪問開始予定時間 午後9時00分決行予定!
総本部URL http://jbbs.shitaraba.com/news/938/
(※注)あくまで「訪問」です。(笑)
物騒な事を書くと削除されちゃいますから。(←この意味わかります?)
それから「訪問」の主旨と無関係ですが、各種「訪問道具」も取り揃えております。(笑)
スレ汚し失礼しました。
0849843
03/02/13 20:35ID:???他にも間違いが…どうもすみません。
やっぱりJavaScriptは使わない事にしました。
お騒がせ致しました〜とほほ
0850nobodyさん
03/02/17 22:52ID:???0851nobodyさん
03/02/19 01:59ID:???$value =~ s/</</g;
$value =~ s/>/>/g;
タグを禁止にして、特定のタグだけを使用可能にするにはどうすればいいんでしょうか?
0852nobodyさん
03/02/19 12:03ID:???$value =~ s/<//g; #タグを一度無効化
$value =~ s/font(.*)>(.*)\/font>/<font$1>$2<\/font>/ig; #FONTタグを復活
$value =~ s/([biu])>(.*)\/[biu]>/<$1>$2<\/$1>/ig; #B、U、Iタグを復活
漏れはこうしてるが?
一度<を全部消して、閉じタグ付きでちゃんと書かれてたら復活させる方法。(B、U、I、FONTのみ有効)
閉じ忘れで壊れるのも同時に防げます。
増やすならfontのとこの行をコピペで増やしてfontを別のに変えればいいと思うよ。
$value =~ s/a(.*)>(.*)\/a>/<a$1>$2<\/a>/ig;
こんな感じ、これはAタグを復活、後は自分で考えて。
0853nobodyさん
03/02/19 17:41ID:???http://ame.x0.com/upload_script.txt
ファイル表示のないアップローダなのですけれど、最大登録件数と最大ファイルサイズを変更したいのですが、
どこを変更すればよいのかわかりません。
どなたか教えていただけませんか?
0854nobodyさん
03/02/19 19:37ID:???最大登録件数なんかねえじゃねえか。脳内仕様もいい加減にしろ。
最大ファイルサイズ変えたけりゃ、スクリプトの最初に出てくる数字をいじれ。
0856851
03/02/21 08:01ID:???#タグの無効化
$value =~ s/</</g;
$value =~ s/>/>/g;
#<del>の許可
$value =~ s/<del>(.*)<\/del>/<del>$1<\/del>/g; #<del>を許可
このように記述してみたんですが、この記述だと文章中のタグ一つしか変換しないみたいです。
何回も変換するようにするには、どうすればいいんでしょうか?
#<del>の許可
$value =~ s/<del>([\w\d\s\t\+\*\.\,\(\)\!\"\#\$\%\'\=\~\`\@\{\[\^\]\}\:\;\/\\\_\>\<]*)<\/del>/<del>$1<\/del>/ig; #<del>を許可
これで一応は動くけど文中に&は使えなくなる。
何か一個全角に・・・「文中に&(半角)があったら&(全角)にする。」っていう対策で一応はクリアできる臭い。
$value =~ s/\&/&/g; #コレ
ゴメン漏れの力じゃ<を除外してマッチングさせるのは解らなかった・・・道場かどっかで聞いて・・・。
0858857
03/02/21 12:58ID:???つかなんか犠牲にしれ、もしくはエロイ人来るまでまってれ。
0861nobodyさん
03/02/21 14:39ID:???お兄さん最長マッチしてやすぜ。
$value =~ s/<del>(.*?)<\/del>/<del>$1<\/del>/g;
0862nobodyさん
03/02/21 14:39ID:???0863nobodyさん
03/02/21 14:44ID:???複数のタグを許可するときは
$regexp = "(del|b|small|em|strong)";
$value =~ s/</</g;
$value =~ s/>/>/g;
$value =~ s/<$regexp>(.*?)<\/$regexp>/<$1>$2<\/$3>/g;
0865nobodyさん
03/02/21 15:43ID:???0866nobodyさん
03/02/21 15:46ID:???0868nobodyさん
03/02/21 21:01ID:/aoYgsJG現在の状態というものを付けたいのですが。どうすればできるでしょうか?
例:健太@ROM
など、ヨロシクお願いします。
0870nobodyさん
03/02/22 16:58ID:I8wQ3PSP参加者(1): 健太@ROM
0873872
03/02/23 09:13ID:???長いので少しずつ。
#まず、43行目から。状態の種類をここに入力。増やすことも可能
43: @status = ('@ROM', '@使用中','@離席中','@食事中','@すぐ戻ります');
#次に、状態を入力するプルダウンボックスを作る。
#240行目付近に「<b>名前</b>:」とあるので、その行のすぐ下から
237: HTML
238: print "<b>状態</b>:<select name=\"status_form\">\n";
239: print "<option value=\"\">(なし)</option>\n"
240:
241: foreach(@status){print "<option value=\"$_\">$_</option>\n";} #状態を選択するメニューを出力
242: print<<"HTML";
243: </select>
0874872
03/02/23 09:23ID:???450行目付近に、「$name = $FORM{'name'};」
とある。これを、状態の情報を受け取るために
450: $nametemp = $FORM{'name'};
451: $status = $FORM{'status_form'};
452: $name = $nametemp.$status;
に入れ替える。
0875nobodyさん
03/02/23 11:23ID:9SQ36OP60876改造列車
03/02/23 17:27ID:???http://2ch.eucaly.net/monazilla/bbs/のread.cgiを読み専用に改造したのはいいのですが、
記事のアンカータグ(>>2など)が記事をDLした時点で既にリンクされてしまっているので、それを分解して<a href=#$st>>>番号</a>
のような感じに表示させたいのですが、何度やっても出来ません。
ちなみに、$stは記事番号です。説明が下手でスマソ・・。
どなたか教えて下さい。よろしくお願いします。
0877nobodyさん
03/02/23 20:22ID:OjosXiHYソースはhttp://csx.jp/~lgyec/ichat.dataです
教えてくださると幸いです。
0878872
03/02/23 21:31ID:???上から順番で。
#まず19行目に↓を挿入。同じく増やすことが可能です
19: @status = ('@使用中','@すぐ戻ります');
#次にデータ受け取りの部分。
262: $name = $text if $key eq 'name';
上を
262: $namet = $text if $key eq 'name';
263: $status = $text if $key eq 'status';
264: $name = $namet.$status;
に書き換える。
#いちいち連結するのは改造箇所を減らすためと思ってくらさい
0879872
03/02/23 21:38ID:???569: <td nowrap bgcolor=$table_color_1 align=center>お名前</td>
のすぐ下、570行目付近から
570: <td bgcolor=$table_color_2 colspan=3>$name
571: <select name=status><option value="">(なし)</option>
572: EOD
573:
574: foreach (@status){ print "<option value=$_>$_</option>\n"; }
575: print "</select>";
576:
577: print<<"EOD";
578: </td></tr>
と記述。
#状態の言葉を長くしすぎると画面が激しく崩れます。
#まだまだ良い方法があるとは思いますが、とりあえず同じ処理をば。
0880872
03/02/23 21:43ID:???570: 「<td bgcolor=$table_color_2 colspan=3>$name」
のすぐ下(571行目くらい)から
571: <select name=status><option value="">(なし)</option>
::::::(略)
579: </td></tr>
と記述してくださいな。
0881872
03/02/23 22:36ID:???@status = ・・・で状態を配列に代入しているが、これを使って後で
foreach ・・・でプルダウンメニューを作る。
メニューで選ばれた「状態」はCGIに送信されてくる。
それを名前を受け取る処理と同じように行い、名前と状態を連結して同じ変数Bに格納する。
で、もとの名前を表示する変数Aの代わりに変数Bを用いて、その後の処理を行う。
メリット:改造箇所が少ない。ログの形式が変わらない。
デメリット:フォームが増える。入力内容はメニューの内容に限られる。
0882nobodyさん
03/02/24 17:17ID:EnulMF3R@status = ('@ROM', '@使用中','@離席中','@食事中','@すぐ戻ります');
これはichatにいれる時は↑らたへんに貼っとけばいいんですよね?
foreach ・・・でプルダウンメニューを作る。
とは、foreach (@status){ print "<option value=$_>$_</option>でいいんですか?
□それを名前を受け取る処理と同じように行い、名前と状態を連結して同じ変数Bに格納する。
comchatgと同様に同じようなやつといったら
$status = $text if $key eq 'status';
$name = $namet.$status;
そのやつをichatにいれるには#データ読みこみというところのどこにいれればいいんでしょうか?
□で、もとの名前を表示する変数Aの代わりに変数Bを用いて、その後の処理を行う。
これは、どういう意味なんでしょうか?
質問ばかりですいませんが、宜しくお願いします。
0884872
03/02/24 18:47ID:???ってのは、受け取った名前の変数($namet)の値と状態の値($status)をくっつけて、
名前の変数($name)にまとめて入れる、ってこと。
こうすると改造箇所が無駄に増えるのを防げるなと思った。それだけ。
連カキスマソ。鬱
0885nobodyさん
03/02/24 19:59ID:80HVp5Lh困ったなぁこんな難しいとはおもってなかったぁ・・。
第一どこにどういれるかとかまったくわからないぃ。
0886nobodyさん
03/02/24 20:00ID:RRWzLh+fhttp://hkwr.com/
0888nobodyさん
03/02/25 07:04ID:???テキストエディタQX評価版021130
http://www2k.biglobe.ne.jp/~araken/beta.htm
そのまま使える
0889nobodyさん
03/02/25 17:07ID:9GtyGnjs■ このスレッドは過去ログ倉庫に格納されています