我在Codeigniter中有一个视图,它是一个直接用HTML编写的表单。
<form action="http://localhost/index.php/cindice/mostrar" mehtod="post">
<label for="usuario" id="usr">Usuario</label>
<input type="text" name="usuario" /><br /><br />
<label for="contrasenya" id="ctr">Contraseña</label>
<input type="password" name="contrasenya" id="ctr" />
<label for="acceder"></label><br /><br />
<input type="submit" name="acceder" id="bacceder" value="Entrar" />
</form>
表单有两个字段:usuario(user)和contraseña(password)。
这是控制器:
<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Cindice extends CI_Controller {
function __construct() {
parent::__construct();
}
public function index()
{
$this->load->view('indice');
}
public function mostrar()
{
$mostrar=$this->input->post('usuario');
print_r($_POST);
echo "<br />";
}
}
?>
当我加载localhost / index / cindice页面时,我写了一个用户名和密码。但是print_r($ _ POST)命令的结果是array(),这意味着任何值都保存在表单中。
我该如何解决?
答案 0 :(得分:2)
我认为它是空的,因为您在开始表单标记中拼写了方法属性错误。你已经把
<form action="http://localhost/index.php/cindice/mostrar" mehtod="post">
什么时候应该
<form action="http://localhost/index.php/cindice/mostrar" method="post">
答案 1 :(得分:0)
请注意,如果在配置中打开了CSRF - 如果是,则需要使用codeigniter表单helper和form_open(),以便添加隐藏的安全值。