質問 > フロント機能 > スマートフォンでログインできない |
フロント機能
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | 下へ |
投稿者 | スレッド |
---|---|
fight |
投稿日時: 2011/10/25 16:16
対応状況: −−−
|
半人前 登録日: 2011/8/14 居住地: 投稿: 18 |
スマートフォンでログインできない ec-cube ver.2.11.1を使っています。
色々と修正している内にいつの間にかスマートフォンでログインできなくなってしまいました。 ログインIDとパスを入れログインしようとすると {"success":"\/mypage\/login.php"} と表示されます。 新規にインストールしたものと比較したところ、templates_c > default内の%% 〜 %%login.tpl.phpの内容が2ヵ所違っていました。 ログインできない方の22行目 <input type="hidden" name="url" value="<?php echo ((is_array($_tmp=((is_array($_tmp=$_SERVER['REQUEST_URI'])) ? $this->_run_mod_handler('script_escape', true, $_tmp) : smarty_modifier_script_escape($_tmp)))) ? $this->_run_mod_handler('h', true, $_tmp) : smarty_modifier_h($_tmp)); ?> ログインできる方の22行目 <input type="hidden" name="url" value="<?php echo ((is_array($_tmp=((is_array($_tmp=$_SERVER['PHP_SELF'])) ? $this->_run_mod_handler('script_escape', true, $_tmp) : smarty_modifier_script_escape($_tmp)))) ? $this->_run_mod_handler('h', true, $_tmp) : smarty_modifier_h($_tmp)); ?> ログインできない方の48行目 <?php $this->assign('key', 'login_memory'); ?> ログインできる方の48行目 <?php $this->assign('key', 'mypage_login_memory'); ?> これを直せばスマートフォンでログインできるようになるでしょうか? templates_cへアップロードできないのですが、再インストールしないで修正する方法はありますか? ご教授よろしくお願いします。 |
shutta |
投稿日時: 2011/10/25 16:59
対応状況: −−−
|
仙人 登録日: 2010/2/4 居住地: 関西 投稿: 835 |
Re: スマートフォンでログインできない 引用:
この色々と修正した部分が影響しているとは思いますよ。。 どのような修正をされたのでしょうか? 何か関係ありそうな部分を修正されませんでしたか? あと、templates_c/以下のファイルを修正しようとされておりますが、 templates/以下のテンプレートから生成される一時ファイルが格納されているので、 本来はテンプレートファイルの方を修正するのが正しいと思います。 また、スマートフォンに関係するテンプレートはsphon/以下のディレクトリーに配置されていますので、 default/以下のディレクトリーのものは関連が薄いように思います。
|
fight |
投稿日時: 2011/10/25 17:12
対応状況: −−−
|
半人前 登録日: 2011/8/14 居住地: 投稿: 18 |
Re: スマートフォンでログインできない data/Smarty/templates/sphone内の変更したファイルを全て元の状態に戻してもログインできなかったのです。
それで、他の部分も全て比較した所、1番あやしそうな所が前述した部分だったのです。 |
shutta |
投稿日時: 2011/10/25 17:42
対応状況: −−−
|
仙人 登録日: 2010/2/4 居住地: 関西 投稿: 835 |
Re: スマートフォンでログインできない 変更したのは data/Smarty/templates/sphone/ 以下のテンプレートだけでしょうか?
data/class/以下のプログラム等変更してませんでしょうか? スマートフォンでアクセスするした場合は、 ユーザーエージェントによって振り分けられスマートフォン用のテンプレートが参照されるので、 data/Smarty/templates_c/default/ 以下のファイルは参照されないように思います。
|
fight |
投稿日時: 2011/10/25 18:35
対応状況: −−−
|
半人前 登録日: 2011/8/14 居住地: 投稿: 18 |
Re: スマートフォンでログインできない 変更したのは、
data/Smarty/templates/追加したテンプレート/ PC用 data/Smarty/templates/sphone/ data/Smarty/templates/mobile/ です。 data/class/ や data/class_extends/ 等は変更していません。 再度、比較確認しましたが全て同一ファイルでした。 |
shutta |
投稿日時: 2011/10/25 23:12
対応状況: −−−
|
仙人 登録日: 2010/2/4 居住地: 関西 投稿: 835 |
Re: スマートフォンでログインできない 引用:
これは、デザイン管理から、テンプレートを追加されたということでしょうか? また、そうであれば、テンプレート設定にて、追加したテンプレートの方を有効にされている状態でしょうか? で、あれば、ますますdata/Smarty/default/側のテンプレートが関連しそうにないように思えるのですが。 さらに確認させて欲しいのですが、スマートフォンでアクセスした場合には、きちんとスマートフォン用のサイトは見えているのでしょうか?
|
fight |
投稿日時: 2011/10/26 14:33
対応状況: −−−
|
半人前 登録日: 2011/8/14 居住地: 投稿: 18 |
Re: スマートフォンでログインできない はい、デザイン管理から、テンプレートを追加いたしました。
はい、テンプレート設定で、追加したテンプレートの方を有効にしています。 はい、ご助言を参考に data/Smarty/templates_c/default/ を試しに削除してみました。 その状態でスマホログインを試してみたのですがダメでした。 結果、%% 〜 %%login.tpl.phpの内容が関係ない事が分かりました。ありがとうございます。 スマートフォンでアクセスした場合なんですが、表示するとまず初めにトップページが出てきます。 ログインをクリックしIDとpass入力画面が表示されます。 入力後、ログインをクリックすると {"success":"\/mypage\/login.php"} が表示されます。 あと気がついた事なんですが、この状態でページを戻るとログインされている状態のページに移動しました。 また、再度、data/Smarty/templates/sphone の違いを確認し、内容を入れ替えてアップロードしてみましたがダメでした。 |
shutta |
投稿日時: 2011/10/26 15:19
対応状況: −−−
|
仙人 登録日: 2010/2/4 居住地: 関西 投稿: 835 |
Re: スマートフォンでログインできない {"success":"\/mypage\/login.php"}
は、/frontparts/login_check.phpからの返り値だと思います。 本来は、ログインページ中の下記のjavascripの処理中にAjaxで処理されるものです。
これは、ログインフォームでは、
となっていて、ログインボタンを押された場合に、上記処理が呼ばれるようになっています。 ここら辺が疑わしいので、 ログインページのテンプレート(data/Smarty/templates/sphone/mypage/login.tpl) の上記部分を確認してもらえますか? こちらでは、 formのaction先を、/frontparts/login_check.phpに変更すると、 同じ現象を再現することが出来ました。 actionの指定等変更されてませんでしょうか?
|
fight |
投稿日時: 2011/10/26 17:29
対応状況: −−−
|
半人前 登録日: 2011/8/14 居住地: 投稿: 18 |
Re: スマートフォンでログインできない data/Smarty/templates/sphone/mypage/login.tplを確認しましたら、
<form name="login_mypage" id="login_mypage" method="post" action="<!--{$smarty.const.HTTPS_URL}-->frontparts/login_check.php" onsubmit="return fnCheckLogin('login_mypage')"> でした。 login.tplは変更していませんので、ログインできる方のlogin.tplも同じ内容でした。 試しに <form name="login_mypage" id="login_mypage" method="post" action="java script:;" onsubmit="return ajaxLogin();"> に変更してログインしてみたら http://www.ドメイン/mypage/java%20script:; に飛び、ページが存在しないエラーになりました。 |
shutta |
投稿日時: 2011/10/26 18:26
対応状況: −−−
|
仙人 登録日: 2010/2/4 居住地: 関西 投稿: 835 |
Re: スマートフォンでログインできない すみません、さきほどのコードは、2.11.2以降のものでした。
お使いの環境が2.11.1なら、不整合を起こしてしまいます。 ただ、{"success":"\/mypage\/login.php"}のようなレスポンスは、 2.11.2で、スマートフォン部分をリファクタリングした際のものだと思います。 2.11.1な環境なら、そのような出力をする部分は無いように思います。 お使いのEC-CUBEのバージョンは本当に2.11.1でしょうか? 2.11.2のコードをバックポートしていたりしないでしょうか?
|
(1) 2 » |
スレッド表示 | 新しいものから | 前のトピック | 次のトピック | トップ |