5 html php codeigniter twitter-bootstrap
我正在使用 Codeigniter 和 Bootstrap。这是我的视图代码:
<?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(); ?>
Run Code Online (Sandbox Code Playgroud)
控制器中被调用函数的代码是:
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');
}
}
}
Run Code Online (Sandbox Code Playgroud)
但我得到了错误
在此服务器上找不到请求的 URL /SEP/con_login/loginUser。
为什么是这样?和路由有什么关系吗?
您需要将完整的 url 传递给 form_open 函数,如下所示
<form action='http://localhost/folder/controller/method'>
Run Code Online (Sandbox Code Playgroud)
有两种方法可以做到这一点
1:使用base_url()
步骤1:打开application\config文件夹下的config.php文件
步骤 2:将 的值设置$config['base_url'] 为您的网站路径
$config['base_url'] = "http://localhost/foldername/index.php";
Run Code Online (Sandbox Code Playgroud)
如何使用
在控制器中加载 url 助手
$this->load->helper('url);
Run Code Online (Sandbox Code Playgroud)
现在在视图文件中您可以像这样使用
echo form_open(base_url()."/controllername/mehod");
Run Code Online (Sandbox Code Playgroud)
2:手动
form_open("http://localhost/foldername/index.php/controller/method");
Run Code Online (Sandbox Code Playgroud)