我刚刚在一个WordPress页面模板上测试了这个。
确保它不放在循环中!
我已经把一个简单的计算,当你提交数字输入到这个结果是回声 - 这显然可以有一个跨度放在它或任何需要。计算可以有任何你想要的。
你也应该能够include
您的计算表:
include "calculations.php";
这些都是围绕着使用includes
http://green-beast.com/blog/?p=144
PHP_SELF的一些安全注意事项去到index.php因为这是主模板。
如果您想要使用它来使其以编程方式完全工作,但硬编码的URL应该有效(尽管不是最佳实践,但REQUEST_URI
确实有效),您需要使用<?php echo $_SERVER['REQUEST_URI']; ?>
。
如果您使用它,您需要使用内置的WordPress转义URI来消毒它,因为您将“获取”其中的任何内容。
<form name="form" action ="<?php echo esc_url($_SERVER['REQUEST_URI']); ?>" method="post">
从而有效地为您提供:
<form name="form" action ="http://the full url of the page this script is on/" method="post">
<input type="number" name="number_in">
<input type="submit" name="submit">
</form>
<?php $result = (int) $_POST['number_in'] * 4;
echo $result;
?>
如果你希望它连续添加到每个表单提交的结果,您可能需要得到位trixy有一个隐藏的输入或会话变量 - 你可以使用:
$_SESSION['number_in'] = $_SESSION['number_in'] + $result;
echo $_SESSION['number_in'];
保持累计结果的运行计数,因为会话已针对WordPress进行激活。
使用(int)执行类型转换 - 如果您知道它将是一个整数 - 否则float应该执行。这应该避免需要进一步清理输入。可能是一个方便的参考php.net http://php.net/manual/en/language.types.integer.php
这解释了隐藏输入的基本用法。
Get and echo inputs from textarea repeatedly
你可以,原则上只留下THA动作空白,将提交给本身action=""
但在这里就是为什么它可能不会是这样一个好主意,做一个很好的讨论。虽然它会起作用,但它会打开你,劫持并注入攻击。 stackoverflow.com/questions/1131781/
虽然你可以在WordPress上运行PHP代码,你是否应该或不就是一个完全不同的讨论......
这就是为什么它可能不是一个好主意留下了很好的讨论它是空白的,但它会起作用。它会打开你的劫持和注入攻击。 http://stackoverflow.com/questions/1131781/is-it-a-good-practice-to-use-an-empty-url-for-a-html-forms-action-attribute-a – Steve