KENT-WEB サポートコーナー 過去ログ [ 0035 ]


記事No: 9142
投稿日: 2011/09/08(Thu) 00:02:06
タイトルCosmo navigatorで新規登録エラー
ID情報: stk2k
投稿者: stk2k
URLhttp://sazysoft.com

COSMO NAVIGATOR Ver.5.0でスクリプトを設置したのですが、下記のエラーメッセージが出て新規登録が出来ません。

「不明な処理です」

(COSMO NAVIGATOR説明ページのサンプルでも上記エラーとなります)

新規登録画面では「mode=form」となるようですが、formがそのままregist.cgiに渡されてそこで23〜25行目のチェックに漏れているようなのですが、修正もしくは旧バージョンを入手することは可能でしょうか?


記事No: 9144
投稿日: 2011/09/08(Thu) 07:44:59
タイトルRe: Cosmo navigatorで新規登録エラー
ID情報: kent
投稿者: KENT

> COSMO NAVIGATOR Ver.5.0でスクリプトを設置したのですが、下記のエラーメッセージが出て新規登録が出来ません。
>
> 「不明な処理です」
>
> (COSMO NAVIGATOR説明ページのサンプルでも上記エラーとなります)
>
> 新規登録画面では「mode=form」となるようですが、formがそのままregist.cgiに渡されてそこで23〜25行目のチェックに漏れているようなのですが、修正もしくは旧バージョンを入手することは可能でしょうか?

本当ですね。ご指摘をありがとうございます。
以下の部分を修正してください。

■navi.cgi 363行目
$tmpl =~ s/!mode!/$in{mode}/g;



$tmpl =~ s/!mode!/regist/g;


記事No: 9145
投稿日: 2011/09/08(Thu) 08:44:06
タイトルRe^2: Cosmo navigatorで新規登録エラー
ID情報: Fuyuki
投稿者: BAL
URLhttp://f43.aaa.livedoor.jp/~sumure/

ユーザー登録の場合登録は完了しても実際にログにはデータが入っていません。
管理者限定登録では以下のエラーになり登録できません。

Undefined subroutine &main::new_form called at admin.cgi line 199, <DATA> line 855.


記事No: 9146
投稿日: 2011/09/08(Thu) 10:21:01
タイトルRe^3: Cosmo navigatorで新規登録エラー
ID情報: kent
投稿者: KENT

> ユーザー登録の場合登録は完了しても実際にログにはデータが入っていません。
> 管理者限定登録では以下のエラーになり登録できません。
>
> Undefined subroutine &main::new_form called at admin.cgi line 199, <DATA> line 855.

ご指摘ありがとうございます。
管理モードの登録不具合は確認できましたなおで、修正しました。
新規登録のほうは、私のテスト環境では正常のようです。


記事No: 9149
投稿日: 2011/09/08(Thu) 16:57:41
タイトルRe^4: Cosmo navigatorで新規登録エラー
ID情報: teketen
投稿者: てけてん

> 新規登録のほうは、私のテスト環境では正常のようです。

初めて新規登録する際、ログに何も登録されていない状態なので、
push(@cls1,$cls1);
push(@cls2,$cls2);
push(@reco,$reco);
の値は空ですよね。
その為、ソートをすると@dataが空になっています。
admin.cgiでも同じ処理をしていますが、regist.cgiと何が違うかと言うと、その処理の前に

($cls1[0],$cls2[0]) = split(/:/, $in{cate});

にて、$cls1[0]と$cls2[0]に値が代入されています。
regist.cgiでは、
my ($mcat,$scat) = split(/:/, $in{cate});
となっており、代入する変数が違います。


記事No: 9150
投稿日: 2011/09/09(Fri) 08:21:43
タイトルRe^5: Cosmo navigatorで新規登録エラー
ID情報: kent
投稿者: KENT

> > 新規登録のほうは、私のテスト環境では正常のようです。
>
> 初めて新規登録する際、ログに何も登録されていない状態なので、
> push(@cls1,$cls1);
> push(@cls2,$cls2);
> push(@reco,$reco);
> の値は空ですよね。
> その為、ソートをすると@dataが空になっています。
> admin.cgiでも同じ処理をしていますが、regist.cgiと何が違うかと言うと、その処理の前に
>
> ($cls1[0],$cls2[0]) = split(/:/, $in{cate});
>
> にて、$cls1[0]と$cls2[0]に値が代入されています。
> regist.cgiでは、
> my ($mcat,$scat) = split(/:/, $in{cate});
> となっており、代入する変数が違います。

なるほど。それが原因ですね。
Perl5.12の環境では、正常に登録できましたが、試しにPerl5.6で試してみると登録ができませんでした。
ご指摘をどうもありがとうございました。

(修正箇所)
regist.cgi 82行目

$data[0] = "$num<>$mcat<>$scat<>$in{sub}<>$in{url}<>$in{name}<>$in{email}<>$mypw<>$in{comment}<>$time<>0<>$host<>\n";



$data[0] = "$num<>$mcat<>$scat<>$in{sub}<>$in{url}<>$in{name}<>$in{email}<>$mypw<>$in{comment}<>$time<>0<>$host<>\n";
$cls1[0] = $mcat; # 追加
$cls2[0] = $scat; # 追加


記事No: 9147
投稿日: 2011/09/08(Thu) 12:21:28
タイトルRe^2: Cosmo navigatorで新規登録エラー
ID情報: stk2k
投稿者: stk2k
URLhttp://sazysoft.com

ご対応有難うございます。

新規登録でエラーは出なくなりましたが、実際にはログファイルにデータが追加されておらず、サイトを検索できない状態です。

regist.cgiの109行目で@dataの中身が消えているようなのですが・・・
ちなみにperlのバージョンは5.8.8です。
(同じパーミッションでファイル出力すると出力できているので、パーミッションの問題ではないようです)

お手数をおかけしますが、ご確認いただければ幸いです。


[検索ページ]