在Codeigniter中发布变量

时间:2013-02-15 12:25:51

标签: codeigniter

我在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&ntilde;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(),这意味着任何值都保存在表单中。

我该如何解决?

2 个答案:

答案 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(),以便添加隐藏的安全值。