Php 如何在资源中使用区块和片段,但在使用MODx Revolution加载页面时仅返回区块?
我有一个资源(63),它应该从一个表单(块)中获取一个值,该值稍后将由一个将其除以4的代码段处理。然后在同一页上显示结果,如下所示: 在资源中: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
[[$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 ...
}