我有一个预览输入数据的脚本,在用户接受同一个脚本之前,它需要重新发布表单数据才能最终处理它,其中一些数据是数组形式&我找了一个高效的函数来执行的,是我没找到,所以我创造了这个:
function repost_array ($value, $key, $mkey) {
echo draw_hidden_field($mkey.'[' . $key . ']', htmlspecialchars(stripslashes($value)));
}
/* Re-Post all POST'ed variables */
reset($_POST);
while (list($key, $value) = each($_POST)) if (!is_array($_POST[$key])) echo draw_hidden_field($key, htmlspecialchars(stripslashes($value)));
reset($_POST);
while (list($key, $value) = each($_POST)) if (is_array($_POST[$key])) array_walk_recursive($_POST[$key], 'repost_array', $key);
请告知,如果有更好的办法,或者如果我错过了什么(I`ve没有测试如何递归函数的功能将会起作用)。
我不确定你到底在做什么。您正在收到帖子,但是希望用户再次发帖为什么? – Webeng
不要求用户重新发布它。将它保存在一个会话变量中,当它们确认时只使用会话变量。 – Barmar
或保存在数据库表中,其中包含isProcessed –