Php 如何在资源中使用区块和片段,但在使用MODx Revolution加载页面时仅返回区块?

Php 如何在资源中使用区块和片段,但在使用MODx Revolution加载页面时仅返回区块?,php,code-snippets,modx-revolution,chunks,Php,Code Snippets,Modx Revolution,Chunks,我有一个资源(63),它应该从一个表单(块)中获取一个值,该值稍后将由一个将其除以4的代码段处理。然后在同一页上显示结果,如下所示: 在资源中: [[$divisionForm]] [[!divisionFormHandling]] 分区表单块: <form action="[[~63]]" method="post"> <input type="text" name="value"/> <input type="submit" name="divisio

我有一个资源(63),它应该从一个表单(块)中获取一个值,该值稍后将由一个将其除以4的代码段处理。然后在同一页上显示结果,如下所示:

在资源中:

[[$divisionForm]]
[[!divisionFormHandling]]
分区表单块:

<form action="[[~63]]" method="post">
  <input type="text" name="value"/>
  <input type="submit" name="division" value="Submit" />
</form>

分区处理代码段:

<?php
    $var = $_POST["value"];
    $division = $var / 4;

    if ($division != 2) {
        $error_message = 'It is not the number 8!';
        $output = $error_message;
        return $output;
    }
    else {
        $playing_around = $var + 1;
    }

    working_around = $var * 2;

    $output = 'Playing: '.$playing_around.'<br />';
    $output .= 'Working: '.$working_around.'<br />';

    return $output;
?>

因此,当我在表单中插入8并提交时,屏幕上会显示以下结果:

播放时间:9 工作时间:16

当我插入任何其他数字时,我得到如下结果,正如预期的那样:

不是8号

但当我第一次访问或刷新页面时,仍然会收到错误消息。我的问题是:如何重写代码,以便在第一次或刷新后,我只看到表单(即Chunck),而不看到错误消息(来自代码段)

我很确定有一个更干净的方法可以做到这一点,但我需要帮助


非常感谢

开箱即用!谢谢@Vasis!
if (isset($_POST["value"])) { // here first time checking

    $var = (int) $_POST["value"]; // (int) is for security purpose

    // all other your code here ...

}