首页 > 解决方案 > 通过 TWIG 模板访问 $_post 值

问题描述

我有一个工作的 home.php 呈现 TWIG 风格的 home.html 模板。home.php 访问我的数据库并通过表单在树枝模板中呈现生成的数据库行。该表单是一个单字段选择列表。我想选择其中一条记录并将其传递给后续的 php pgm。为此,我使用 $_post。但我无法访问生成的 php pgm 中的发布值。我的代码有什么问题?抱歉,我是 twig 的新手(在没有 symfony 的情况下使用它),php 中的编码知识只是基本的。感谢您的任何提示!在home.php中渲染树枝模板:

<?php
echo $template->render(array_merge(['mydata1' => $mydata1]),(['post' => $_POST]));
?>

TWIG 模板home.html中的表单。mydata1.Title是我要发布到 action.php 的 DB 值

<form action="action.php" method="post" name="tl1">
            <label for="mydata1.Title" style="display:inline-table;">
                <span>{% set k=1 %}
                    <select name="tl1">
                    {% if mydata1.records_count > 0 %}
                        {% for i in range(0, mydata1.records_count - 1) %}
                            <option value="{{ mydata1.Title[loop.index0] }}"> {{ mydata1.Title[loop.index0] }} </option>
                        {% endfor %}
                    {% endif %}
                    </select>
                </span>
            </label>
            <input type="submit" value="Button Text" name="tl1" class="btn btn-primary" />
        </form>

最后在action.php中回显发布的值:

echo "The posted value from home.php is: ",$_post['mydata1.Title'];

我想要做的是点击表单旁边的按钮(在上面的代码中名为“按钮文本”)我想将表单“mydata1.Title”(Title=fieldname)的选定列表值传递给action.php和在那里使用它。

我在 home.php 和 home.html 中尝试了很多变体,但我的尝试都没有在 action.php 中显示任何 DB 值。表单渲染按预期工作。action.php 中的输出是一个空的 $_post 变量。

标签: phpformsposttwig

解决方案


推荐阅读