【问题标题】:Pass a variable by href?通过href传递变量?
【发布时间】:2014-04-11 02:14:16
【问题描述】:

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

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

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

编辑:另一件事是我正在使用 Kendo 和 PHPixie。

【问题讨论】:

  • 什么是编辑?一个php文件?
  • @kimbarcelona 是的,有点。 Documents 是 php 文件,edit 是其中的一个方法。
  • 是否存在 PHP 错误?如果 post 不是对象中的方法,那么你会得到一个错误。
  • 我认为这不是使用 href 调用documents.php中的方法的正确方法
  • 是的,如果有错误是什么

标签: php html kendo-grid phpixie


【解决方案1】:

嗯,实际上在 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/

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

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      【解决方案3】:

      视图不应直接访问 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>
      

      【讨论】:

        猜你喜欢
        • 2012-05-02
        • 1970-01-01
        • 1970-01-01
        • 2019-11-09
        • 2018-08-30
        • 2018-10-11
        • 2011-10-19
        • 2014-12-25
        • 2015-06-23
        相关资源
        最近更新 更多