我已经阅读了一些资源并想出了这样做的要点,但我很难用它。
我想将var传递给'<a href="documents/edit">'
所以我试过了
'<a href="documents/edit?var=<?php echo $this->request->post("doc_id")?>">'
,
但它打破了我的网站。我真的不知道我在做什么,如果我做错了什么,有人会告诉我吗?
这一切都发生在一个html文件中,fyi。
编辑:另一件事是我正在使用Kendo和PHPixie。
答案 0 :(得分:2)
嗯,实际上在PHPixie中你不能在你的视图中使用$this->request
因为$这并不代表Controller(你可以在其中找到变量$ request)但是View!
将$ _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/
顺便说一句,优良作法是始终 prepend 您的href
和src
以及起始斜杠。为什么?因为如果您在http://example.com/exa/mple
并且想要转到http://example.com/doc_id
,则需要告知浏览器您从主机启动该网址。否则,如果没有起始斜杠,您将以http://example.com/exa/doc_id
结束。
答案 1 :(得分:0)
在搜索我的代码后,我发现这是正确的做事方式:
<a href="<?php echo $exepath; ?>documents/edit?doc_id=document_id"></a>
希望这将有助于将来使用PHPixie或Kendo的任何人。
答案 2 :(得分:0)
观看不应该直接访问POST。如初。
将POST传递给您的视图肯定会有效,但违反了MVC的主要概念。
这样做:
<?=$post['doc_id'];?>
如果POST var&#34; doc_id&#34;将抛出错误$ post数组中没有,因为没有错误检查,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>