Romeyk

Повторная отправка данных формы по F5.

Здравствуйте, уважаемые! Заранее попрошу не пинаться, так как я новичок в php и в wordpress.

Вот такая у меня проблема:
Есть форма, которая отправляет свои данные через POST, я эти данные обрабатываю и заношу в таблицу в БД. Вся эта обработка находится в одном файле. Проблема в том, что по нажатию кнопки F5 в браузере, то бишь обновление, происходит опять добавление в базу той же самой записи.

Вот код функции, которая добавляет запись в БД:

function vkv_add_record() {
    global $wpdb;
    
    $vkv_name     = trim($_POST['name']);
    $vkv_link_img     = trim($_POST['link_img']);
    $vkv_link_video    = trim($_POST['link_video']);
    $vkv_desc         = trim($_POST['description']);
    $table_name      = $wpdb->prefix . 'vkv';
    $insert_record   = $wpdb->query( $wpdb->prepare("INSERT INTO $table_name (title, description, link_img, link_video) VALUES (%s, %s, %s, %s)", $vkv_name, $vkv_desc, $vkv_link_img, $vkv_link_video));
}

Вот функция, которая обрабатывает заголовки и принимает соответствующее решение:

function vkv_controler() {
    if (isset($_POST['add_video'])) {
        vkv_add_record();
        $mode = 'main';
    }
    
    if (isset($_POST['show_add'])) 
        $mode = 'add';
    
    if (empty($mode)) 
        $mode = 'main';
    vkv_render($mode); // запускает соответствующую функцию
}

Пробовал делать через header(‘Local:’), но вываливается ошибка: Warning: Cannot modify header information – headers already sent by…
Чтобы Вы могли посоветовать?

Anonymous
Отправить
Ответ на: