Php CodeIgniter按钮不触发动作
我一直在搜索网站上的各种问题,但运气不好。据我所知,最接近答案的是以下问题: 问题是,当我按下login按钮时,什么也没有发生,因此HTML表单中的action属性没有被触发。我也看了看我的路线,没有运气 HTML代码位于“我的视图”文件夹中,如下所示:Php CodeIgniter按钮不触发动作,php,codeigniter,Php,Codeigniter,我一直在搜索网站上的各种问题,但运气不好。据我所知,最接近答案的是以下问题: 问题是,当我按下login按钮时,什么也没有发生,因此HTML表单中的action属性没有被触发。我也看了看我的路线,没有运气 HTML代码位于“我的视图”文件夹中,如下所示: <div class="container"> <div class="row"> <div class="col-md-4 col-md-offset-4">
<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>
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";
}
}
我只关心去主页。通过调用view函数,我只是返回到登录屏幕。我将调整命名适当一旦我可以得到这个工作。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;
}
任何帮助都将不胜感激。谢谢。我不知道直接的anwser,但您是否检查了您的服务器返回的确切内容以及数据发送到哪里了。LiteBug FTW;) 如果没有发送任何数据,您应该检查您的.js文件。使用
<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>
试试这个action=”“
我有一个如下的路由$route['login']='pages/login'删除您的路由一段时间,然后重试。我已经对您进行了更改,但运气不好。我不确定是否可能是.htaccess文件使用
代替了
。多亏了@Indrasinh,按钮现在可以工作了,因为有一个愚蠢的标签问题。数据库没有返回任何内容。我现在正在探索这一点。