我正在使用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(); ?>
控制器中被叫函数的代码是:
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。
这是为什么?与路由有什么关系吗?
答案 0 :(得分:2)
您需要将完整的url传递给form_open函数,如此
<form action='http://localhost/folder/controller/method'>
有两种方法可以做到这一点
base_url()
步骤1:打开application \ config文件夹
下的config.php文件第2步:将$ config [&#39; base_url&#39;]的值设置为您的网站路径
$config['base_url'] = "http://localhost/foldername/index.php";
如何使用
在控制器中加载url助手
$this->load->helper('url);
现在在视图文件中,您可以像这样使用
echo form_open(base_url()."/controllername/mehod");
form_open("http://localhost/foldername/index.php/controller/method");
答案 1 :(得分:1)
您需要将完整的url传递给form_open函数,如此
<form action='http://localhost/folder/controller/method'>
有两种方法可以做到这一点
1:使用base_url()
步骤1:打开application \ config文件夹
下的config.php文件第2步:将$config['base_url']
的值设置为您的网站路径
$config['base_url'] = "http://localhost/foldername/index.php";
如何使用
在控制器中加载url助手
$this->load->helper('url);
现在在视图文件中,您可以像这样使用
echo form_open(base_url()."/controllername/mehod");
2:手动
form_open("http://localhost/foldername/index.php/controller/method");
答案 2 :(得分:0)
你在控制器中加载了帮助器(url,form)吗? 如果不 那么你应该在你的控制器中做一个加载功能 就像这样
public function load(){
$this->load->helper('url');
$this->load->helper('form');
}
并在函数中使用它
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');
}
}
}
答案 3 :(得分:0)
你可以像这样使用,它适用于我..让我们看看它是否适合你。 如果您不希望从form_open()函数的第二个参数中删除属性。
<?php $attributes = array('class' => 'myformclass', 'id' => 'myformid','name' => 'myformname');
echo form_open(base_url("con_login/loginUser"),$attributes);?>
HTML HERE
<?php echo form_close();?>
谢谢