$ _POST не обновляет значение

#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. Спасибо ^ Я скопировал определенный пример и не думал об этом