バージョン選択

フォーラム

メニュー

オンライン状況

43 人のユーザが現在オンラインです。 (33 人のユーザが フォーラム を参照しています。)
登録ユーザ: 0
ゲスト: 43
もっと...

サイト内検索

質問 > フロント機能 > スマートフォンでログインできない

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
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/templates/追加したテンプレート/ PC用


これは、デザイン管理から、テンプレートを追加されたということでしょうか?
また、そうであれば、テンプレート設定にて、追加したテンプレートの方を有効にされている状態でしょうか?

で、あれば、ますます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で処理されるものです。


<script>
  function ajaxLogin() {
      var postData = new Object;
      postData['transactionid'] = "********";
      postData['mode'] = 'login';
      postData['login_email'] = $('input[type=email]').val();
      postData['login_pass'] = $('input[type=password]').val();
      postData['url'] = $('input[name=url]').val();

      $.ajax({
          type: "POST",
          url: "http://eccube-demo-2-11.dev.cyber-will.co.jp/frontparts/login_check.php",
          data: postData,
          cache: false,
          dataType: "json",
          error: function(XMLHttpRequest, textStatus, errorThrown){
              alert(textStatus);
          },
          success: function(result){
              if (result.success) {
                  location.href = result.success;
              } else {
                  alert(result.login_error);
              }
          }
      });
  }
</script>


これは、ログインフォームでは、


<form name="login_mypage" id="login_mypage" method="post" action="java script:;" onsubmit="return ajaxLogin();">


となっていて、ログインボタンを押された場合に、上記処理が呼ばれるようになっています。

ここら辺が疑わしいので、
ログインページのテンプレート(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 »
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


EC-CUBE公式 Amazon Payプラグイン

統計情報

総メンバー数は89,298名です
総投稿数は110,077件です

投稿数ランキング

1
seasoft
7367
2
468
3217
3
AMUAMU
2712
4
nanasess
2314
5
umebius
2085
6
yuh
1819
7
h_tanaka
1652
8
red
1570
9
mcontact
1302
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
799
14 ramrun 789
15 karin 689
16 sumida 641
17
homan
633
18 DELIGHT 572
19
patapata
502
20
flealog
485


ネットショップの壺

EC-CUBEインテグレートパートナー

Copyright© EC-CUBE CO.,LTD. All Rights Reserved.