我一直在搜索网站上的各种问题而没有运气。据我所知,最接近答案的是通过以下问题:CodeIgniter's form action is not working properly。
问题是,当我按下登录按钮时没有任何反应,因此不会触发HTML表单中的action属性。我也看过我的路线而没有运气。
HTML代码位于我的视图文件夹中,如下所示:
<div class="container">
<div class="row">
<div class="col-md-4 col-md-offset-4">
<div class="login-panel panel panel-default">
<div class="panel-body">
<form role="form" method="post" action="<?php echo base_url() ?>index.php/login">
<fieldset>
<div class="form-group">
<input class="form-control" placeholder="Username" name="username" type="username" required>
</div>
<div class="form-group">
<input class="form-control" placeholder="Password" name="password" type="password" required>
</div>
<a type="submit" id="login-button" style="navy" class="btn btn-lg btn-success btn-block">Login</a>
</fieldset>
</form>
</div>
</div>
</div>
</div>
</div>
我的控制器名为pages.php,它的功能是,登录如下:
public function login()
{
$this->load->helper('form');
$username = $this->input->post('username');
$password = $this->input->post('password');
if ($username != false && $password != false)
{
$loginDetails = $this->pages_model->retrieveLoginDetails($username, $password);
if ($loginDetails != false)
{
if ($loginDetails['username'] == $username && $loginDetails['password'] == $password)
{
$this->load->view ('home');
}
else
{
$this->view();
echo "details dont match";
}
}
else
{
$this->view();
echo "nothing received from db";
}
}
else
{
$this->view();
echo "no details entered";
}
}
我只关心去主页。通过调用视图函数,我只是返回登录屏幕。一旦我能够开始工作,我会适当地调整命名。 pages模型包含以下函数以从数据库中检索登录数据:
public function retrieveLoginDetails ($username, $password)
{
$loginDetails['username'] = $this->db->get_where('user_details', $username);
if (! empty ($loginDetails['username']))
{
$loginDetails['password'] = $this->db->get_where('user_details', $password);
return $loginDetails;
}
return false;
}
非常感谢任何帮助。感谢。
答案 0 :(得分:1)
使用
<input type="submit" value="Login" class="btn btn-lg btn-success btn-block" />
取代
<a type="submit" id="login-button" style="navy" class="btn btn-lg btn-success btn-block">Login</a>
了解更多信息请查看:http://www.w3schools.com/tags/tag_a.asp
答案 1 :(得分:0)
我不知道直接回复,但是你确定了你的服务器究竟返回了什么,以及数据发送到哪里。 LiteBug FTW;)
如果没有发送任何数据,您应该检查您的.js文件。