バージョン選択

フォーラム

メニュー

オンライン状況

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

サイト内検索

質問 > フロント機能 > 会員種別を追加した際のパスワード再発行について

フロント機能

新規スレッドを追加する

スレッド表示 | 新しいものから 前のトピック | 次のトピック | 下へ
投稿者 スレッド
doux
投稿日時: 2017/7/28 16:23
対応状況: 解決済
半人前
登録日: 2017/2/16
居住地:
投稿: 15
会員種別を追加した際のパスワード再発行について
会員種別を1つ増やし、管理画面のマスターデータ管理にある
mtb_customer_statusにて会員種別を以下のように1つ増やしました。

<デフォルト>  →  <追加時>
ID:1 仮会員      ID:1 仮会員
ID:2 本会員      ID:2 プロ会員
              ID:3 一般会員


これに伴い、/ec-cube/data/class/helper/SC_Cutomer.php内の
status = 2 を  status in (2,3) とし、会員登録には対応したのですが、

パスワードを忘れた場合の再発行時
https://shop.minxnails.co.jp/forgot/)に表示される
秘密の質問が表示されなくて困っております。

現象として、プロ会員(ID:2)は表示されるのですが、
一般会員(ID:3)だけ表示されない状況です。

いろいろ探し回って、/ec-cube/data/class/pages/forget/LC_Page_Forgot.phpの中の
ID値2を、2と3とすればいいのかなという推測はついたのですが、
書き方が間違っているのか、エラーになり、対応できない状況です。

以下、その該当部分です。

=============================
/**
* メールアドレス・名前確認
*
* @param array $arrForm フォーム入力値
* @param array $arrReminder リマインダー質問リスト
* @return string エラー文字列 問題が無ければNULL
*/
public function lfCheckForgotMail(&$arrForm, &$arrReminder)
{
$errmsg = NULL;
$objQuery =& SC_Query_Ex::getSingletonInstance();
$where = '(email = ? OR email_mobile = ?) AND name01 = ? AND name02 = ? AND del_flg = 0';
$arrVal = array($arrForm['email'], $arrForm['email'], $arrForm['name01'], $arrForm['name02']);
$result = $objQuery->select('reminder, status', 'dtb_customer', $where, $arrVal);
if (isset($result[0]['reminder']) and isset($arrReminder[$result[0]['reminder']])) {
// 会員状態の確認
if ($result[0]['status'] == '2') {
// 正会員
$arrForm['reminder'] = $result[0]['reminder'];
} elseif ($result[0]['status'] == '1') {
// 仮会員
$errmsg = 'ご入力のemailアドレスは現在仮登録中です。<br/>登録の際にお送りしたメールのURLにアクセスし、<br/>本会員登録をお願いします。';
}
} else {
$errmsg = 'お名前に間違いがあるか、このメールアドレスは登録されていません。';
}

return $errmsg;
}
=============================

もし、ご教示いただけましたら幸いです。
どうかよろしくお願い致します。




=============================
当方の環境
[EC-CUBE] 2.13系
[レンタルサーバ] ロリポップ
[OS] Mac OS X
[PHP] 5.6
[ブラウザ] Google Chrome
=============================
yuh
投稿日時: 2017/7/28 17:36
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: 会員種別を追加した際のパスワード再発行について
if ($result[0]['status'] == '2') {

ここの部分じゃないですか?


----------------


http://ec-lab.net/

doux
投稿日時: 2017/7/28 18:27
対応状況: −−−
半人前
登録日: 2017/2/16
居住地:
投稿: 15
Re: 会員種別を追加した際のパスワード再発行について
はい、ここの部分をどう変えたらいいかなと思慮していました。
phpの文法というか、基礎的なところなのかもしれないですが
お恥ずかしながらよく分からなくて。。

2だけでなく3も、というようにするには
どう書いたらいいか、ご教示いただけないでしょうか?
yuh
投稿日時: 2017/7/29 9:36
対応状況: −−−
登録日: 2013/1/9
居住地: 大阪
投稿: 1818
Re: 会員種別を追加した際のパスワード再発行について
if ($result[0]['status'] == 2 or $result[0]['status'] == 1) {

こんな感じですかね。


----------------


http://ec-lab.net/

doux
投稿日時: 2017/7/29 15:25
対応状況: −−−
半人前
登録日: 2017/2/16
居住地:
投稿: 15
Re: 会員種別を追加した際のパスワード再発行について
ご返答ありがとうございます。

今回、会員種別 ID:1以外を対象にしたかったので、
if ($result[0]['status'] <> '1') {

と書いて対応してみたところ、思った通りの挙動になりました。

また、秘密の質問の表示についての部分も
会員種別についての記述をみつけたので、
$where = '(email = ? OR email_mobile = ?)'
                    . ' AND name01 = ? AND name02 = ?'
                    . ' AND status <> 1 AND del_flg = 0';

と記述して対応できました。

ヒントをいただきまして感謝いたします。
ありがとうございました!
スレッド表示 | 新しいものから 前のトピック | 次のトピック | トップ


 



ログイン


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

統計情報

総メンバー数は88,288名です
総投稿数は109,688件です

投稿数ランキング

1
seasoft
7365
2
468
3217
3
AMUAMU
2712
4
nanasess
2303
5
umebius
2085
6
yuh
1818
7
h_tanaka
1610
8
red
1567
9
mcontact
1240
10
tsuji
958
11
fukap
907
12
shutta
835
13
tao_s
796
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.