场景:用户点击Login with Facebook
链接,但实际用户没有在数据库中注册。url的代码是:
<a href="<?php echo $this->authlib->fbloginURL(site_url() . 'auth/facebooklogin'); ?>">
在auth/facebooklogin()
函数中,我正在检查此条件,并且如果用户未注册,我想打开一个模式进行注册。
facebooklogin()
中检查和重定向的代码片段:
if(is_null( $this->authlib->has_account( $fb_id ) ) ) // User has no account
redirect('/auth/register_modal');
register_modal()
函数只是加载我想要显示的新视图:
function register_modal()
{
$this->load->view('include/header');
$this->load->view('auth/register_modal');
$this->load->view('include/footer');
}
为了讨论的目的,我的modal dialog
是:
<div class="modal hide" id="myModal">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal">x</button>
<h3>Login to MyWebsite.com</h3>
</div>
<div class="modal-body">
<form method="post" action='' name="login_form">
<p><input type="text" class="span3" name="eid" id="email" placeholder="Email"></p>
<p><input type="password" class="span3" name="passwd" placeholder="Password"></p>
<p><button type="submit" class="btn btn-primary">Sign in</button>
<a href="#">Forgot Password?</a>
</p>
</form>
</div>
<div class="modal-footer">
New To MyWebsite.com?
<a href="#" class="btn btn-primary">Register</a>
</div>
</div>
这行不通。我在想我做错了什么?所有相关的引导文件都加载在头文件中。
我自己找到了解决办法。我只需要在我的模式中更改以下内容:
<div class="modal hide" id="myModal">
<div class="modal show" id="myModal">
。将hide
更改为show
。我真傻!
登录
</diV>
<div class="modal-body">
</div>
<div class="modal-footer" id="modal-footer" >
</div>