#php #html #wordpress
#php #HTML #wordpress
Вопрос:
В настоящее время пытаюсь обновить определенное значение с помощью формы, но у меня это не работает. Я попробовал несколько вещей, даже функцию, которая обновляет значение с помощью 1, которая работает на другой странице, поэтому я не уверен, в чем проблема с моей формой.
<?php
if(isset($_POST['submitcounter'])){
function mail_counter(){
$val = $_POST['test']; //Increment the current count
update_option(CF7_COUNTER, $val); //Update the settings with the new count
}
}
/*
function update_counter(){
update_option(CF7_COUNTER, (int) $_POST['test']);
}
*/
?>
<h1>Settings Page</h1>
<form method="post" action="" >
<label for="Settings_text">Settings</label>
<input type="number" name="test" value="<?php echo get_option(CF7_COUNTER); ?>"/>
<input type="submit" name="submitcounter" value="update" class="button button-primary button-large">
</form>
Идея заключается в том, чтобы функция заменяла существующее значение (каким бы оно ни было 42 или 10209) на ввод формы.
Комментарии:
1. Вы не вызываете функцию определенной функции.
Ответ №1:
Вам нужно вызвать функцию, поскольку код написан в теле функции, а управление туда не передается:
if (isset($_POST['submitcounter'])) {
function mail_counter(){
$val = $_POST['test']; //Increment the current count
//Update the settings with the new count
update_option(CF7_COUNTER, $val);
}
mail_counter(); // This function is defined but not called.
}
Ответ №2:
<?php
if(isset($_POST['submitcounter']))
{
// Update the settings with the new count
update_option(CF7_COUNTER, $_POST['test']);
}
?>
<h1>Settings Page</h1>
<form method="post" action="" >
<label for="Settings_text">Settings</label>
<input type="number" name="test" value="<?=get_option(CF7_COUNTER);?>"/>
<input type="submit" name="submitcounter" value="update" class="button button-primary button-large">
</form>
Удален ненужный код и улучшена читаемость кода.
Комментарии:
1. Пожалуйста! Если это действительно отвечает на ваш вопрос, не могли бы вы пометить его как ответ. 🙂
2. Конечно, не могли бы вы указать, где я могу пометить это как законченное, на самом деле не в очевидном месте.
3. Я бы, вероятно, сделал
if(isset($_POST['submitcounter']) amp;amp; isset($_POST['test'])){}
, чтобы убедиться, что эта потенциальная ошибка обнаружена
Ответ №3:
вы должны удалить функцию mail_counter()
Комментарии:
1. Спасибо ^ Я скопировал определенный пример и не думал об этом