ホーム > フォーラム > 質問箱 > XCL2.1.5 > xoops legacy 新規ユーザー登録エラーについて 大変困っております 助けてください。

xoops legacy 新規ユーザー登録エラーについて 大変困っております 助けてください。
投稿者: userzerox | 投稿日時: 2008/11/5 20:09 | 閲覧: 32865回
userzerox
xoops cube legacy 2.15で

新規ユーザー登録画面
/register.php

必要事項を記入しユーザー登録ボタンを押す。


しばらくすると下記URLの画面が表示されます。
/register.php?action=UserRegister
こちらの画面は新規ユーザー登録画面(/register.php)を開いたときの最初の状態のままです。

結果的に、新規登録がまったくできていません。
入力項目にエラーがあった場合は、しっかりと表示されます。


前回までテストドメインで、xoopsを構築していました。

       http://テストアドレス.com/ドメイン名/

本日正式なドメインで運用できる準備がととのったので、

       http://ドメイン名/ で動かし出しました。


mainfile.php で仮のアドレスパスになっていた部分を
正式なパスに書き換えを行いました。


どこに問題があるのでしょうか。


ご教授頂ければ幸いです。

コメント(15)

新しいものから | 古いものから | ネスト表示 | RSS feed
Re: xoops legacy 新規ユーザー登録エラーについて 大変困っております 助けてください。 
投稿者: userzerox | 投稿日時: 2008/11/5 20:16
userzerox
追伸
管理画面状より、ユーザー登録を管理者が行うと登録はできます。
初期状態でxoopsをインストールしたのは仮のテストアドレスになります。
宜しくお願い致します。
Re: xoops legacy 新規ユーザー登録エラーについて 大変困っております 助けてください。 
投稿者: 112 | 投稿日時: 2008/11/5 20:34 | 親コメント: #19256
112
私も同じ症状で困ってます。
てっきり自分の環境だけのバグかと思っていたのですが。

私の場合、ドメインの変更、サーバー移行なども行っておらず、思い当たることと言えば、
2.1.5にバージョンアップして(一週間程?)しばらくするといつの間にか、こうなっていました。
その間は見ても触ってもいなかったので、原因は不明です。

サーバーの移行を試して見ましたが変わりませんでした。

cite="http://xoopscube.jp/modules/forum/index.php/comment/19256" title="Re: xoops legacy 新規ユーザー登録エラーについて 大変困っております 助けてください。">
追伸
管理画面状より、ユーザー登録を管理者が行うと登録はできます。
初期状態でxoopsをインストールしたのは仮のテストアドレスになります。
宜しくお願い致します。
Re: xoops legacy 新規ユーザー登録エラーについて 大変困っております 助けてください。 
投稿者: suin | 投稿日時: 2008/11/5 22:28 | 親コメント: #19257
suin
この問題は心当たりがありますが、その前に、どのような状況で起こったのか教えてほしいです。

1 . 登録するときいつも、/register.php?action=UserRegisterに戻ってしまうのか?
2 . いつもでないなら、どういうときになるのか?
 - 入力してみた値など

私の知る限りでは、全角のハイフン(Windows)「-」を入力したとき、同じような現象が起こるという報告が出ています。

---------------
ここからは技術的な話。

userモジュールでは、新規登録のフォームをセッションでやりとりしています。
User_UserRegisterActionのexecute()でフォームをserializeして$_SESSION['user_register_actionform']を投げて、User_UserRegister_confirmActionで$_SESSION['user_register_actionform']を受け取ってunserializeしてますが、セッション化する際に、一定の文字列(マルチバイトなどで)が有る場合、セッションが吹っ飛ぶことがあるようです。

セッションが吹っ飛ぶと、フォームを再生できないので、/register.php?action=UserRegisterに転送されます。

User_UserRegister_confirmActionの81行目~

	function _getRegistForm(&$controller)
	{
		$this->mRegistForm = unserialize($_SESSION['user_register_actionform']);
		if (!is_object($this->mRegistForm)) {
			$controller->executeForward('./register.php?action=UserRegister');
		}
	}


userモジュールのデフォルトでは、マルチバイト文字列が入り込むフィールドがユーザ名くらいしかありませんが、今後、フィールドを拡張できる用にする場合は、セッション化して投げ渡す処理は検討しないといけなそうですね…。
Re: xoops legacy 新規ユーザー登録エラーについて 大変困っております 助けてください。 
投稿者: userzerox | 投稿日時: 2008/11/5 23:22 | 親コメント: #19259
userzerox
>1 . 登録するときいつも、/register.php?action=UserRegisterに戻ってしまうのか?

はい。常に戻ってしまいます。
モジュール、ブロック、全て初期状態にしても同じエラーです。

>2 . いつもでないなら、どういうときになるのか?
 - 入力してみた値など

どのような状態でも戻ってしまいます。
入力してみた値については、ローマ字 漢字 英数字 試してみますが不可能です。

管理画面のモジュール管理で、新規登録不可にして、その後可能にしたりしても全く
かいぜんしません・・・・
Re: xoops legacy 新規ユーザー登録エラーについて 大変困っております 助けてください。 
投稿者: suin | 投稿日時: 2008/11/6 23:16 | 親コメント: #19260
suin
いつも問題の症状が出るというのは辛いですね。

いつもなるということは、PHPのバージョンやサーバの環境による可能性が高いですね。
Re: xoops legacy 新規ユーザー登録エラーについて 大変困っております 助けてください。 
投稿者: userzerox | 投稿日時: 2008/11/7 17:11 | 親コメント: #19265
userzerox
>いつもなるということは、PHPのバージョンやサーバの環境による可能性が高いですね。


サーバーはレンサバ.comを利用しており、
動作要件は満たしていると思うのですが。。。

mainfile.php以外に、パスなど書き換える場所はあるのでしょうか?
Re: xoops legacy 新規ユーザー登録エラーについて 大変困っております 助けてください。 
投稿者: satop | 投稿日時: 2008/11/11 16:45
satop
自分の場合、利用許諾の文字数(多分文字数orバイト数)で同様の現象が起こりました。
デフォルトではなく、長文の利用許諾としていましたが、文字数を減らしていったら、
コンファーム画面(メールOK?画面)が出てきました。

suinさんの返信にもあるように、オブジェクトがわたらないのが原因です。
オブジェクトがわたらないと、何事もなかったかのように、登録画面に戻ります。
(エラーならエラーで表示されますが)
このオブジェクトはユーザーー登録画面のオブジェクトでして、利用許諾文も含まれてます。

なぜ、文字数でunserialize出来ないのかが不明ですが・・・・一応報告まで。
解決致しました。 
投稿者: userzerox | 投稿日時: 2008/11/12 10:48 | 親コメント: #19291
userzerox
satop様のアドバイスをお聞きし早速実行してみたところ

利用許諾文の文字数を大幅に削減したところ、なんと解決致しますた。


助かりました。ありがとうございます。
Re: xoops legacy 新規ユーザー登録エラーについて 大変困っております 助けてください。 
投稿者: suin | 投稿日時: 2008/11/12 23:02 | 親コメント: #19291
suin
satopさん


なぜ、文字数でunserialize出来ないのかが不明ですが・・・・一応報告まで。


この問題が起こるのはマルチバイトという前提なら、ひょっとして「PEAK XOOPS - serialize()とvar_export()の比較 (1)」に書いてあるEUCとUTF-8の文字長差異の問題が関係しているかもしれませんね。

もしそうならば、
serialize() : unserialize() から
var_export() : eval() に置き換えることで一時的に対処できるかもしれません。

試したわけではないので推論でしかないですが^^;
Re: 解決致しました。 
投稿者: Marijuana | 投稿日時: 2008/11/13 18:27 | 親コメント: #19292
Marijuana
解決したところでなんですが・・・
これを試して、MySQLの項目を教えていただけないでしょうか?

このフォーラムならテーブルタグをそのまま貼れると思うので、
ソース表示して<!-- MYSQL SETTINGS -->から<!-- /MYSQL SETTINGS -->までを
貼って頂くと今後の参考になるかと・・・
もしかすると元の利用許諾文で問題出なくなるかもしれません。(あんまり自信ないですが)

以下サンプル

MySQL5.0.67-community-nt-log

CHARACTER SET
character_set_clientutf8
character_set_connectionutf8
character_set_databaseutf8
character_set_filesystembinary
character_set_resultsutf8
character_set_serverutf8
character_set_systemutf8
COLLATION
Databaseutf8_general_ci
session tableutf8_general_ci
sess_data fieldutf8_general_ci
SQL MODE
sql_mode

Re: 解決致しました。 
投稿者: seigon | 投稿日時: 2009/8/3 23:49 | 親コメント: #19292
seigon

随分前のトピックですが、同様の問題に遭遇し、検索したところこのページに辿り着きました。
色々調べて、試したところ、
_sessionというテーブルのsess_dataというフィールドをmediumtextに変えたら大丈夫でしたよ。
Re: xoops legacy 新規ユーザー登録エラーについて 大変困っております 助けてください。 
投稿者: ni48 | 投稿日時: 2011/8/15 2:05 | 親コメント: #19291
ni48
引用:
_sessionというテーブルのsess_dataというフィールドをmediumtextに変えたら大丈夫でしたよ。


すいません。
先ほど同じ現象で私も困ってますうんぬんと書いてしまったのですが
こちらの書き込みを見逃していまして無事に私も解決できました。
解決方法情報ありがとうございました。助かりました。
Re: xoops legacy 新規ユーザー登録エラーについて 大変困っております 助けてください。 
投稿者: ni48 | 投稿日時: 2011/8/26 10:15 | 親コメント: #20867
ni48

私も同様の事が起こりこちらの情報により無事修正でき、
新規登録は直ったのですが
パスワード再発行が同様のエラーで再発行のページに行けません。

_sessionというテーブルのsess_dataというフィールドをmediumtextに変えるように
何処かのテーブルを
mediumtextに変更すれば良いのでしょうか?
解決しました 
投稿者: ni48 | 投稿日時: 2011/8/26 10:24 | 親コメント: #20872
ni48

XOOPS Cube Legacy 2.1.8 はパスワード紛失関係の処理が変更になってたんですね

投稿後に知りました  OTL....

/lostpass.php
に変更した所無事に解決できました。
Re: xoops legacy 新規ユーザー登録エラーについて 大変困っております 助けてください。 

    投票(2)

    新しいものから | 古いものから | RSS feed
     
      To Top