CGIなどのの質問を受付ます。
現在SPAM対策の為、一部ホストアドレスを規制中。
▼スレッド
│
└◇277:Re[3]:日記SP「開いた時にその月のログを表示」にはできませんか? [moon(管理人かも)] 01/17 16:50
└◇278:Re[4]:日記SP「開いた時にその月のログを表示」にはできませんか? [ぷりん] 01/18
└◇279:Re[5]:日記SP「開いた時にその月のログを表示」にはできませんか? [moon(管] 01/18
└◇280:Re[6]:日記SP「開いた時にその月のログを表示」にはできませんか? [ぷりん] 01/18
└◇281:すみません、もう1つ・・・ [ぷりん] 01/25
└◇282:Re:すみません、もう1つ・・・ [moon(管] 01/25
> お答え頂いたものをやってみたのですが、最新ログを表示しないところまでできましたが、月のログは読み込めません。。。わかりません・・・(T_T)削除した場所にそのまま貼り付ければいいんですよね?スレッド一覧
多分全角のスペースが入っているので、それが入るとエラーになります。
全角のスペースは半角にするか削除してください。
スペース消したらできました!有難うございます。。。スレッド一覧
もう1つお聞きしたいです・・・
今回の改造によって最新ログ(nik.logですか)は全く表示されないようになりますよね。
できればプルダウンで選べば最新ログで書込or編集順も見られるようになるといいのですが、
大幅改造にならないご負担にならない程度でできるのでしたら教えて下さい。
動いたのですね。よかったです。スレッド一覧
> 最新ログ(nik.logですか)は全く表示されないようになりますよね。
> できればプルダウンで選べば最新ログで書込or編集順も見られるようになるといいのですが、
とりあえず手順だけを説明します。
1338行目あたり。
print qq|<option value="$cgi">最近の日記\n|;
↓
print qq|<option value="$cgi?saisin=new">最近の日記\n|;
590行目あたり
# 月間LOG/タイトル一覧からの個別ログ
if ($in{'mode'} eq 'res') {
print qq|<p>レスを書き込みます</p>\n|;
} elsif ($in{'log'}) {
↓
if ($in{'saisin'}) {
open (IN,$file);
@line = <IN>;
close (IN);
if (@line) { print qq|<h3><font color="$tc">最近の日記</font></h3>\n|; }
else { print qq|<h3><font color="$tc">LOGがありません。</font></h3>\n|; }
} elsif ($in{'mode'} eq 'res') {
print qq|<p>レスを書き込みます</p>\n|;
} elsif ($in{'log'}) {
とすれば動くような気がします。
(動作確認をしてないので、動かなかったらゴメンナサイ)
以上、がんばってください。
できました!スレッド一覧
本当にありがとうございました。
結構長い間探し回っていたのですが、これで理想のcgiになりました。
お世話になりました。
また、これからいっぱい使わせてもらうのでよろしくお願いします。
早いレスも有難うございました。助かりました☆
同じようにやって携帯からでもページを開いた時は当月のログにしました。スレッド一覧
最新ログもどうにか見たいんですが・・・。
お教えいただけますか?
> 同じようにやって携帯からでもページを開いた時は当月のログにしました。スレッド一覧
> 最新ログもどうにか見たいんですが・・・。
実際にテストをしていないので動くかどうかはわかりませんが・・・
携帯の設定はkei.plに記述されています。
また、i-modo・vodafone用(CHTML)と、au用(XHTML)に分かれていますので、同じような編集を二箇所ずつします。
まず523行目あたり
print qq|<select name="day3">\n|;
print qq|<option value="">\n|;
print qq|<option value="a">上旬\n|;
print qq|<option value="b">中旬\n|;
print qq|<option value="c">下旬\n|;
print qq|</select>\n|;
↓
print qq|<select name="day3">\n|;
print qq|<option value="">\n|;
print qq|<option value="new">最新\n|;
print qq|<option value="a">上旬\n|;
print qq|<option value="b">中旬\n|;
print qq|<option value="c">下旬\n|;
print qq|</select>\n|;
610行目あたりも同様に。
283行目
if ($in{'day3'} eq "a") {
↓
if ($in{'day3'} eq "new") {
last;
} elsif ($in{'day3'} eq "a") {
ちょっと下にある320行目あたり
} else {
$chh = "$in{'year'}$in{'mon'}$in{'day1'}$in{'day2'}";
if ($_[0] =~ /^$chh/) {
push(@datas,$line);
}
}
}
foreach (@datas) {
(@_) = split(/\t/);
↓
} else {
$chh = "$in{'year'}$in{'mon'}$in{'day1'}$in{'day2'}";
if ($_[0] =~ /^$chh/) {
push(@datas,$line);
}
}
}
open (IN,$file); #←これを入れる
@datas = <IN>; #←これを入れる
close (IN); #←これを入れる
foreach (@datas) {
(@_) = split(/\t/);
同じように380行目あたりからのものを修正する。
以上で大丈夫だと思います。