0

我在 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(用户)和 contraseña(密码)。

它是控制器:

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

我该如何解决?

4

2 回答 2

2

我认为它是空的,因为您在开始表单标记中拼写了方法属性错误。你放了

<form action="http://localhost/index.php/cindice/mostrar" mehtod="post">

什么时候应该

<form action="http://localhost/index.php/cindice/mostrar" method="post">
于 2013-02-15T12:32:49.637 回答
0

请注意,如果您在配置中打开了 CSRF - 如果是,那么您需要使用 codeigniter 表单助手和 form_open() 以便添加隐藏的安全值。

于 2013-02-15T12:50:32.670 回答