Форма конфигурации phpbb

#forms #config #phpbb

#формы #конфигурация #phpbb

Вопрос:

при отправке этой формы я увидел, что «Отправленная форма была недействительной. Попробуйте отправить еще раз.’ Ошибка и входные данные не обновлены.

action=’ ‘ — это нормально. пожалуйста, посмотрите важную часть, середину php-кодов, я не могу найти проблему в этой области.

 <!-- INCLUDE overall_header.html -->

<form id="wideoptions" action='' method='post'>

<input type="wide_main" id="wide_main" name="config[wide_main]" size="30" value="{WIDE_MAIN}" />

<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />

</form>
  

PHP:

 <?php


global $db, $user, $auth, $template, $cache;
global $config, $phpbb_root_path, $phpbb_admin_path, $phpEx;

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();

page_header('Wide Options');

$template->set_filenames(array(
    'body' => 'wide_options.html',
));
  

// Важная часть здесь

         if (isset($_POST['submit']))
        {
            if (!check_form_key('acp_widecpanel'))
            {
                trigger_error('FORM_INVALID');
            }

            // request_var should be '' as it is a string ("1, 2, 3928") here, not an integer.
            set_config('wide_main', request_var('wide_main', '0'));

            trigger_error($user->lang['RT_SAVED'] . adm_back_link($this->u_action));
        }











    $template->assign_vars(array(
            'WIDE_MAIN'     => $config['wide_main'],
    ));


page_footer();
?>
  

Ответ №1:

Имя формы должно совпадать с именем, используемым в add_form_key. Использовали ли вы add_form_key при создании формы?

https://wiki.phpbb.com/Function.add_form_key

https://wiki.phpbb.com/Function.check_form_key