CGIなどのの質問を受付ます。
現在SPAM対策の為、一部ホストアドレスを規制中。
▼スレッド
│
└◇1548:編集実行時の分類について [とんとん] 04/01 13:02
└◇1549:Re:編集実行時の分類について [moon★] 04/01
└◇1550:Re[2]:編集実行時の分類について [とんとん] 04/02
└◇1551:Re[3]:編集実行時の分類について [moon★] 04/02
└◇1552:Re[4]:編集実行時の分類について [とんとん] 04/02
└◇1553:Re[5]:編集実行時の分類について [moon★] 04/02
└◇1554:Re[6]:編集実行時の分類について [とんとん] 04/13 <
記事の編集を実行する際、分類を選び直さないと、編集終了後に「未分類」となってしまいます。スレッド一覧
設定が間違っているのかと思い、いろいろ確認してみたのですが思い当たるところがなく、またもや質問をさせていただきます。
編集作業に入る時点で、すでに選択済みの分類を、そのまま有効にする方法や設定はありますでしょうか?。
(選び直さなくてもいいようにしたい)
おたずねしてばかりで、本当にすみません。
確認してみたのですが、未分類になりませんでした。スレッド一覧
多分サンプルで試していただくと未分類にならないと思います。
ためしてみてください。
変なところを編集したのかなぁ?
それともやり方が悪いのかなぁ?
>多分サンプルで試していただくと未分類にならないと思います。スレッド一覧
>ためしてみてください。
確かにサンプルだとなりませんでした。
>変なところを編集したのかなぁ?
たぶんそんな気がします。
ためしに、一番最初にDLしたnik.cgiと入れ替えてみたのですが、状況は変わりません。
また、PCからの画像アップを修正していただいた後のnik.cgiと差し替えても、おんなじです。
※lib.plも同様に差し替えてみたましたが、変わりません。
※nik.cgiとrib.plを一緒に差し替えてもおなじです。
確認するとしたら、どの辺りでしょうか?。
> ためしに、一番最初にDLしたnik.cgiと入れ替えてみたのですが、状況は変わりません。スレッド一覧
> また、PCからの画像アップを修正していただいた後のnik.cgiと差し替えても、おんなじです。
> ※lib.plも同様に差し替えてみたましたが、変わりません。
> ※nik.cgiとrib.plを一緒に差し替えてもおなじです。
書き出しは
nik.cgiの4532行目辺りの
# 分類
if ($theme_sw) {
&theme_read;
くらいからです。
読み出しはその上の4121行目辺り
#修正用だとLOG読み込み
if ($mode == 4) {
open (IN,"$direct/$in{'log'}");
くらいからやってます。
現象を考えるに、分類そのものの書き込みができていないように思われます。
set.pl内の
# テーマ保存用TXT
$theme_file = 'log/theme.log';
というところで分類(テーマ)の保存ファイルをけっていていますが、これは正常に書き込まれていますか?
log/フォルダのパーミッションが間違っていてtheme.logが書き出されていない場合もあるので確認してください。
ご丁寧にありがとうございます。スレッド一覧
ログのパーミッションは、当初606で設定してあり、DLして開いてみたら、一応書き出されてはいました。
9 日々のできごと 1 5
8 その他 0 3 DEL
1 テスト1 0 1 DEL
2 テスト2 0 1 DEL
3 テスト3 0 1 DEL
4 テスト4 0 0 DEL
5 テスト5 0 0 DEL
6 テスト6 0 0 DEL
7 テスト7 0 0 DEL
現状、その他〜テスト7までの分類は、テスト投稿した記事と一緒に削除済みで、「日々のできごと」のみとなっています。実際にテスト投稿の記事は、5件上がっています。
パーミッションを666に変えてみても、状況は変わりません。
※logフォルダは777です。
ご指摘いただいたnik.cgiの記述部分は、一切変更していません。
ちなみに、こんなことは可能でしょうか?。
1)分類選択のリストの先頭を、「選択してください」ではなく、特定の分類にしてしまう。
2)以下の記述2か所に、テーマのID(上の例では[9])を直接書いてしまう。
3)$tmp .= qq|<option value="">選択してください</option>\n|;
↓
$tmp .= qq|<option value="theme_data[9] ">theme_data[9] </option>\n|;
4)$tmp .= qq|<option value="">選択してください</option>\n|;
↓
$tmp .= qq|<option value="theme_data[9] ">theme_data[9] </option>\n|;
こんな単純な考えではダメなんでしょうけど・・・。とほほ。
今晩、画像アップを修正していただいた後のプログラムを、オリジナルのままアップして動作を確認してみます。
> ご指摘いただいたnik.cgiの記述部分は、一切変更していません。スレッド一覧
何ででしょうねぇ?
実際に動作しているところは見れますか?
> ちなみに、こんなことは可能でしょうか?。
>
> 1)分類選択のリストの先頭を、「選択してください」ではなく、特定の分類にしてしまう。
> 2)以下の記述2か所に、テーマのID(上の例では[9])を直接書いてしまう。
> 3)$tmp .= qq|<option value="">選択してください</option>\n|;
> ↓
> $tmp .= qq|<option value="theme_data[9] ">theme_data[9] </option>\n|;
>
> 4)$tmp .= qq|<option value="">選択してください</option>\n|;
> ↓
> $tmp .= qq|<option value="theme_data[9] ">theme_data[9] </option>\n|;
>
分類を複数つけられるように設定している場合、同じように出力しているので、単純に編集しただけだとすべてに適用されてしまいます。
nik.cgi 4583行目辺り
for (1 .. $theme_siyousu) {
$theme_name = 'theme' .$_;
$theme_name_n = 'new_theme' .$_;
$tmp .= qq|分類<select name="$theme_name">\n|;
$tmp .= qq|<option value="">選択してください</option>\n|;
foreach $theme_log (@theme_log) {
を
for (1 .. $theme_siyousu) {
$theme_name = 'theme' .$_;
$theme_name_n = 'new_theme' .$_;
$tmp .= qq|分類<select name="$theme_name">\n|;
if($_ == 1) {
$tmp .= qq|<option value="9">日々のできごと</option>\n|;
} else {
$tmp .= qq|<option value="">選択してください</option>\n|;
}
foreach $theme_log (@theme_log) {
とすればできるような。
すでに書き込まれているものを編集する場合、すでに書き込まれているデータを読み込んでから出力しています。
ここで種別が戻ってしまうとなると、種別を読み取ってないとかそんな感じでしか予想ができません。
しかもうちのサイトでは正常に動いているということはそもそもの不具合ではないと。
原因究明は難しいですねぇ。
いろいろありがとうございます。スレッド一覧
まっさらなファイルをアップロードし直して、1つづつやり直しています。
とりあえず、まっさらなファイルを上げ直したら、問題は解消したので、コツコツと1つづつ確認しながら、デザインの変更をやり直してます。
>実際に動作しているところは見れますか?
すみません。作業を繰り返している最中に、うっかり上書きでアップロードしてしまって、問題が発生したcgiファイルを消失してしまいました。
####################
$tmp .= qq|分類<select name="$theme_name">\n|;
if($_ == 1) {
$tmp .= qq|<option value="9">日々のできごと</option>\n|;
} else {
$tmp .= qq|<option value="">選択してください</option>\n|;
}
foreach $theme_log (@theme_log) {
とすればできるような。
####################
一応試してみたのですが、CGIのエラーになってしまいました。
以下のようにしたら動作はしたのですが、どの分類に選びかえても、編集モードに入ると「日々のできごと」が選ばれている、という状態になってしまいました。
####################
$tmp .= qq|分類<select name="$theme_name">\n|;
if($_ == 1) {
$tmp .= qq|<option value="9">日々のできごと</option>\n|;
$tmp .= qq|<option value="">選択してください</option>\n|;
}
foreach $theme_log (@theme_log) {
####################