Я только что проверил это на шаблоне страницы WordPress.
Убедитесь, что он не вставлен в петлю!
Я проделал простой расчет, и когда вы отправляете ввод количества в это, результат будет эхом - это, очевидно, может иметь пролет вокруг него или что-то еще, что ему нужно. Расчет может иметь все, что вам нужно.
Вы также должны быть в состоянии include
свой расчетный листа:
include "calculations.php";
Вот некоторые соображения безопасности, связанные с использованием includes
http://green-beast.com/blog/?p=144
PHP_SELF пошел в index.php, как это мастер шаблон.
Вам необходимо использовать <?php echo $_SERVER['REQUEST_URI']; ?>
, если вы хотите использовать это для действия, чтобы он работал полностью программно, но жесткий URL-адрес должен работать (не самая лучшая практика, хотя и действительно работает).
Если вы используете его, вам необходимо использовать встроенный escape-код 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
Вы могли бы, в принципе, просто оставить тха действие пустым, и он представит себе action=""
, но здесь хорошая дискуссия о том, почему она не может быть такой хорошей идеей, чтобы сделать это. Хотя он будет работать, он откроет вас для захвата и атаки. stackoverflow.com/questions/1131781/
Хотя вы можете запустить код PHP в WordPress, должны ли вы или нет, это совсем другое обсуждение ...
Вот хорошее обсуждение того, почему она не может быть такой хорошей идеей, чтобы оставить он пустой, хотя он будет работать. Это открывает вам угон и атаку. http://stackoverflow.com/questions/1131781/is-it-a-good-practice-to-use-an-empty-url-for-a-html-forms-action-attribute-a – Steve