首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Codeigniter如何使用form_open帮助函数设置表单操作url

Codeigniter如何使用form_open帮助函数设置表单操作url
EN

Stack Overflow用户
提问于 2015-05-10 13:32:29
回答 4查看 15.9K关注 0票数 4

我正在使用Codeigniter和Bootstrap。这是我的视图代码:

代码语言:javascript
复制
<?php echo form_open('con_login/loginUser'); ?>
    <div class="bs-example">
        <div class="col-md-2">
            <label class="sr-only" for="username">Username</label>
            <input type="text" class="form-control" name="username" placeholder="Username" value="">
        </div>
        <div class="col-md-2">
            <label class="sr-only" for="password">Password</label>
            <input type="password" class="form-control" name="password" placeholder="Password" value="">
        </div>
        <button type="submit" class="btn btn-default" name="login" value="login">Sign in</button>
    </div>
    <?php echo form_close(); ?> 

控制器中被调用函数的代码为:

代码语言:javascript
复制
public function loginUser() {
    $username = $this->mod_login->getUsername();

    $inUser = $this->input->post('username');
    $inPass = $this->input->post('password');

    if (in_array($inUser, $username)) {
        $password = $this->mod_login->getPassword($inUser);
        if ($password === $inPass) {
            $this->load->view('Alt_home');
        }
    }
}

但是我得到了一个错误

在此服务器上找不到请求的URL /SEP/con_login/loginUser。

为什么会这样呢?这跟路由有关系吗?

EN

回答 4

Stack Overflow用户

发布于 2015-05-10 13:47:15

您需要将完整的url传递给form_open函数,如下所示

代码语言:javascript
复制
<form action='http://localhost/folder/controller/method'>

有两种方法可以做到这一点

1:使用base_url()

步骤1:打开application\config文件夹下的config.php文件

步骤2:将$config['base_url']的值设置为您的网站路径

代码语言:javascript
复制
  $config['base_url'] = "http://localhost/foldername/index.php";

如何使用

在控制器中加载url helper

代码语言:javascript
复制
 $this->load->helper('url);

现在在视图文件中,您可以像这样使用

代码语言:javascript
复制
  echo form_open(base_url()."/controllername/mehod");

2:手动

代码语言:javascript
复制
   form_open("http://localhost/foldername/index.php/controller/method");
票数 2
EN

Stack Overflow用户

发布于 2017-12-06 20:15:51

您需要将完整的url传递给form_open函数,如下所示

代码语言:javascript
复制
<form action='http://localhost/folder/controller/method'>

有两种方法可以做到这一点

1:使用base_url()

步骤1:打开application\config文件夹下的config.php文件

步骤2:将$config‘’base_url‘的值设置为您的网站路径

代码语言:javascript
复制
$config['base_url'] = "http://localhost/foldername/index.php";

如何使用

在控制器中加载url helper

代码语言:javascript
复制
$this->load->helper('url);

现在在视图文件中,您可以像这样使用

代码语言:javascript
复制
 echo form_open(base_url()."/controllername/mehod");

2:手动

代码语言:javascript
复制
form_open("http://localhost/foldername/index.php/controller/method");
票数 2
EN

Stack Overflow用户

发布于 2018-01-06 15:16:44

你在你的控制器中加载助手(url,表单)了吗?如果没有,你应该在你的控制器中创建一个加载函数,如下所示

代码语言:javascript
复制
public function load(){  
$this->load->helper('url');
$this->load->helper('form');
}

并在函数中使用此函数

代码语言:javascript
复制
    public function loginUser() {
    $this->load();
    $username = $this->mod_login->getUsername();

    $inUser = $this->input->post('username');
    $inPass = $this->input->post('password');

    if (in_array($inUser, $username)) {
        $password = $this->mod_login->getPassword($inUser);
        if ($password === $inPass) {
            $this->load->view('Alt_home');
        }
    }
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30148081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档