我有一个资源(63)应该从一个表单(块)中获取一个值,该表单稍后将被一个将其除以4的片段处理。它会在同一页面上显示结果,如下所示:
在资源中:
[[$divisionForm]]
[[!divisionFormHandling]]
divisionForm Chunk:
<form action="[[~63]]" method="post">
<input type="text" name="value"/>
<input type="submit" name="division" value="Submit" />
</form>
divisionFormHandling片段:
<?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号!
但是当我第一次访问该页面或刷新它时,我仍然收到error_message。我的问题是:我怎么能重写代码,所以在第一次或刷新后我只看到表单(即Chunck)而不是错误消息(来自Snippet)?
我很确定有更简洁的方法可以做到这一点,但我需要帮助。
非常感谢!
答案 0 :(得分:1)
if (isset($_POST["value"])) { // here first time checking
$var = (int) $_POST["value"]; // (int) is for security purpose
// all other your code here ...
}