0

id我的问题是当我进入 if 条件时我丢失了参数(即我不能使用变量),因为这发生在我按下submit视图中的按钮之后(即在我设置 post 数组之后)

public function action_resetpassword()
{
    $this->template->content = View::factory('user/password/reset')
    ->bind('message', $message)
    ->bind('errors', $errors);

    if (HTTP_Request::POST == $this->request->method()) 
    {           
        $id = $this->request->param('id');
4

1 回答 1

1

如果我理解正确,您希望将参数传递给 if 中设置的视图。这可以通过将这些变量“绑定”到视图来轻松完成(即通过引用传递)

public function action_resetpassword()
{
    $this->template->content = View::factory('user/password/reset')
        ->bind('message', $message)
        ->bind('errors', $errors)
        ->bind('id', $id); // Empty variable is defined here ...

    if (HTTP_Request::POST == $this->request->method()) 
    {
        // ... and set here
        $id = $this->request->param('id');

在视图内部,$id现在将具有来自 Request 参数的值。

如果这不是您的意思,您应该阅读一些关于 PHP 中的变量范围的内容,这个问题不一定与 Kohana 相关

http://php.net/manual/en/language.variables.scope.php

于 2013-07-23T09:20:08.233 回答