0

我已经阅读了一些资源并弄清楚了这样做的要点,但我很难做到这一点。

我想将 var 传递给'<a href="documents/edit">'所以我尝试过
'<a href="documents/edit?var=<?php echo $this->request->post("doc_id")?>">'
但它破坏了我的网站。我真的不知道我在做什么,如果我做错了什么,有人可以告诉我吗?

这一切都发生在一个 html 文件中,仅供参考。

编辑:关于这一点的另一件事是我正在使用 Kendo 和 PHPixie。

4

3 回答 3

2

好吧,实际上在 PHPixie 中,您不能$this->request在视图中使用,因为 $this 不代表控制器(您可以在其中找到变量 $request),而是视图!

将 $_POST 传递给您的视图的最佳方法是执行以下操作:

public function action_myFunction()
{
    $this->view->post = $this->request->post();
    $this->view->subview = 'myView';
}

在你看来,你可以做

<div>
    <?=$post['doc_id'];?>
</div>

您可以在此博客上找到更多信息:http: //phpixie.jeromepasquier.com/accessing-variables-view/

顺便说一句,最好总是在你的和前面加上一个斜杠。为什么 ?因为如果你在并且你想去你需要告诉浏览器你从主机启动 url。否则,如果没有起始斜线,您将结束.hrefsrchttp://example.com/exa/mplehttp://example.com/doc_idhttp://example.com/exa/doc_id

于 2014-04-11T21:28:57.263 回答
0

在搜索了我的代码后,我发现这是正确的做事方式:

<a href="<?php echo $exepath; ?>documents/edit?doc_id=document_id"></a>

希望这将有助于将来使用 PHPixie 或 Kendo 的任何人。

于 2014-04-11T03:40:55.017 回答
0

视图不应直接访问 POST。曾经。

将 POST 传递给您的视图肯定会起作用,但违反了 MVC 的主要概念。

这样做:

<?=$post['doc_id'];?>

如果 $post 数组中不存在 POST var "doc_id" 将抛出错误,因为没有错误检查并且 PHPixie 在严格模式下工作。

分配稍后将在视图中使用的变量的最佳方法如下:

public function action_myFunction()
{
    $this->view->doc_id = $this->request->post('doc_id');  //will return NULL if not present, checking logic should be done before if needed
    $this->view->subview = 'myView';
}

在您看来:

<div>
    <?= $doc_id ?>
</div>
于 2014-09-18T21:25:40.257 回答