ログインエラーメッセージの表示方法
-
投稿者投稿
-
2014年5月9日 11:57 AM #69989stellanova参加者
wordpress、welcart、PHP初心者です。
いつもお世話になっております。
現在welcartにログインする際にusces-memberからではなく、トップページからポップアップさせたフォームを通してログインできるようにカスタマイズを行っております。
フォーム自体はほぼusces-memberのデフォルトで使用しています。
カスタムの内容としましては、ログインボタンの下にログインフォームを記入し、display:none;で非表示にし、Easy FancyBoxを使用してログインボタンを押すとlightbox風にポップアップ表示されるようにというものですが、ログイン後のリダイレクトをUSCES_MEMBER_URLではなくトップページに指定しているためか、ログイン失敗した際に表示される『エラー: メールアドレスが違います。』などのエラーメッセージが即座に表示されません。(一度トップページに行き、再度ログインボタンを押すとフォーム上に表示されています。)
可能であれば、ログイン失敗した際、即座にポップアップ上にエラーメッセージが表示されるようにカスタムしたいと考えております。どなたか良い対策方法をお持ちでしたらご教授頂けましたら幸いです。
宜しくお願い致します。
乱文失礼いたしました。参考までにソースを張らせて頂きます。
<div class=”example1″>
- <?php usces_loginout_btn(); ?>
<div style=”display:none;” class=”fancybox-hidden”>
<div id=”fancyboxID-1″ class=”hentry” style=”width:460px;height:380px;”>
<div class=”example2″>
<div class=”error_message”><?php usces_error_message(); ?></div>
<p class=”example3″>Login</p><form name=”loginform” id=”loginform” action=”<?php echo apply_filters(‘usces_filter_login_form_action’, home_url( ‘/’ )); ?>” method=”post”>
<p>
<label><?php _e(‘e-mail adress’, ‘usces’); ?><br />
<input type=”text” name=”loginmail” id=”loginmail” class=”loginmail” value=”<?php echo esc_attr(usces_remembername(‘return’)); ?>” size=”20″ /></label>
</p>
<p>
<label><?php _e(‘password’, ‘usces’); ?><br />
<input type=”password” name=”loginpass” id=”loginpass” class=”loginpass” size=”20″ /></label>
</p>
<p class=”forgetmenot”>
<label><input name=”rememberme” type=”checkbox” id=”rememberme” value=”forever” /> <?php _e(‘memorize login information’, ‘usces’); ?></label>
</p><p id=”nav”>
” title=”<?php _e(‘Did you forget your password?’, ‘usces’); ?>”><?php _e(‘Did you forget your password?’, ‘usces’); ?>
</p>
<p id=”nav”>
<?php if ( ! usces_is_login() ) : ?>
” title=”<?php _e(‘New enrollment for membership.’, ‘usces’); ?>”><?php _e(‘New enrollment for membership.’, ‘usces’); ?>
<?php endif; ?>
</p><p class=”submit”>
<?php usces_login_button(); ?>
</p>
<?php do_action(‘usces_action_login_page_inform’); ?>
</form><div class=”footer_explanation”>
<?php do_action(‘usces_action_login_page_footer’); ?>
</div></div>
</div>
</div><script type=”text/javascript”>
<?php if ( usces_is_login() ) : ?>
setTimeout( function(){ try{
d = document.getElementById(‘loginpass’);
d.value = ”;
d.focus();
} catch(e){}
}, 200);
<?php else : ?>
try{document.getElementById(‘loginmail’).focus();}catch(e){}
<?php endif; ?>
</script>2014年5月13日 11:25 AM #70015nanbuキーマスターこんにちは。
非同期通信を行いユーザーチェックを行い、OKだったらsubmit するという形にしてはいかがでしょうか。
-
投稿者投稿
- このトピックに返信するにはログインが必要です。