我剛剛在一個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