未在form_hidden codeigniter中设置值

时间:2015-01-17 10:48:40

标签: php codeigniter

我有一个我无法理解的问题。 我需要在表单上隐藏字段,但我不能把我的会话返回的值。

我的代码:

echo form_hidden('redirect', $this->session->userdata('redir_para'));

输出:

<input type="hidden" name="redirect" value="" />

我的调试:

echo $this->session->userdata('redir_para');
echo form_hidden('redirect', $this->session->userdata('redir_para'));

输出:

http://cipainel.dev/index.php/usuarios/gerenciar
<input type="hidden" name="redirect" value="" />

更多调试:

$data = array(
        'redirect'  => $this->session->userdata('redir_para'),
        'email' => 'john@example.com',
        'url'   => 'http://example.com'
    );

输出:

<input type="hidden" name="redirect" value="" />
<input type="hidden" name="email" value="john@example.com" />
<input type="hidden" name="url" value="http://example.com" />

不明白为什么不起作用!

谢谢!

2 个答案:

答案 0 :(得分:0)

您必须首先定义变量,如下所示:

$redirect = $this->session->userdata('redir_para');

var_dump($redirect); // Debug, not needed

echo form_hidden('redirect', $redirect);

$data = array(
    'redirect'  => $redirect,
    'email' => 'john@example.com',
    'url'   => 'http://example.com'
);

答案 1 :(得分:0)

新闻调试:

    $http = "http://cipainel.dev/index.php/usuarios/login";

    $data = array(
        'redirect'  => $http,
        'email' => 'john@example.com',
        'url'   => 'http://example.com'
    );

    var_dump($data);

    echo form_hidden($data);

输出:

array (size=3)
    'redirect' => string 'http://cipainel.dev/index.php/usuarios/login' (length=44)
    'email' => string 'john@example.com' (length=16)
    'url' => string 'http://example.com' (length=18)

<input type="hidden" name="redirect" value="http://cipainel.dev/index.php/usuarios/login" 
<input type="hidden" name="email" value="john@example.com" />
<input type="hidden" name="url" value="http://example.com" />

它的作品!! :)

其他测试:

 $redirect = $this->session->userdata('redir_para');
 var_dump($redirect);

 $data = array(
     'redirect'  => $redirect,
     'email' => 'john@example.com',
     'url'   => 'http://example.com'
 );

 var_dump($data);
 echo form_hidden($data);

输出:

string 'http://cipainel.dev/index.php/usuarios/gerenciar' (length=48)

array (size=3)
    'redirect' => string 'http://cipainel.dev/index.php/usuarios/gerenciar' (length=48)
    'email' => string 'john@example.com' (length=16)
    'url' => string 'http://example.com' (length=18)

 <input type="hidden" name="redirect" value="" 
 <input type="hidden" name="email" value="john@example.com" />
 <input type="hidden" name="url" value="http://example.com" />

我为此疯狂。 :(