php - CodeIgniter 按钮不触发操作

标签 php codeigniter

我一直在网站上搜索各种问题,但没有成功。据我所知,我最接近的答案是通过以下问题:CodeIgniter's form action is not working properly .

问题是,当我按下登录按钮时,没有任何反应,因此 HTML 表单中的操作属性没有被触发。我也查看了我的路线,但没有运气。

HTML 代码位于我的 View 文件夹中,如下所示:

<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>

我的 Controller 名为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";
    }
}

我只关心进入主页。通过调用 View 函数,我只是返回到登录屏幕。一旦我可以让它工作,我将适当调整命名。页面模型包含以下函数来从数据库检索登录数据:

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;
}

任何帮助将不胜感激。谢谢。

最佳答案

使用

<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

关于php - CodeIgniter 按钮不触发操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27185624/

相关文章:

php - PDOStatement::execute() [pdostatement.execute]: SQLSTATE[HY093]: 无效

php - 动态内容的站点地图?

php - 哪一个更好?何时或如果其他情况?

php - 只能插入第一个和第二个值,其他值不能插入数据库中。怎么解决这个问题?

PHPUnit单元测试: Handling session_start() in a method

php - 为什么我不能在 Slim 的调用函数中使用 $app?

php - Telegram + PHP (Windows 7) : failed to open stream: HTTP request failed! HTTP/1.1 404 未找到

php - 在 codeigniter 中使用 required once 或在 helper 中创建一个函数哪个是安全的?

php - php文件错误

php - 在 Codeigniter 中编写模型代码的最佳方式是什么