Uncaught ArgumentCountError: слишком мало аргументов для функции phpfmg_hs c (), 1 - PullRequest
0 голосов
/ 14 июля 2020

Мне очень жаль, что я прошу о помощи, и прошло много времени с тех пор, как я в последний раз делал это.

В общем, я нахожу свои собственные решения, однако недавно я переключил свой веб-сайт PHP на версию 7.0, и кажется что форма отправки почты больше не работает.

Я получаю следующую ошибку:

Fatal error:  Uncaught ArgumentCountError: Too few arguments to function phpfmg_hsc(), 1 passed in contact2/indexnl.php on line 61 and exactly 2 expected in form.lib.php:1244
Stack trace:
#0 indexnl.php(61): phpfmg_hsc('field_1')
#1 form.lib.php(193): phpfmg_form('')
#2 indexnl.php(9): phpfmg_display_form()
#3 {main}
  thrown in /public_html/contact2/form.lib.php on line 1244

В этих строках у меня есть: # 0

    <textarea name="field_1" id="field_1" rows=4 cols=25 class='text_area'><?php  phpfmg_hsc("field_1"); ?></textarea>

# 1

     phpfmg_header( $title, $keywords, $description );
        if( !$isHideForm ){
            phpfmg_form($sErr);
        }else{
            phpfmg_thankyou();
        };
        phpfmg_footer();
    
        return;
    }

# 2

    phpfmg_display_form();

# 3

    function phpfmg_hsc($field, $default){
        echo isset($_POST[ $field ])
             ? HtmlSpecialChars( $_POST[ $field ] )
             : $default;
    }

Прошу прощения за вопрос, в чем я уверен для многих из вас Программисты более высокого уровня глупы, но может ли кто-нибудь мне помочь? Я действительно пытался понять это, но не могу.

Я с нетерпением жду вашей помощи.

-Isaa c

1 Ответ

1 голос
/ 14 июля 2020

Я бы рискнул предположить, что это всегда было ошибкой, но когда вы меняли версии PHP, в новом php .ini включается отчет об ошибках.

# 3 сообщает вам, как чтобы исправить это!

Второй параметр - это то, что он должен использовать по умолчанию, если поле ввода ранее не было установлено.

Поэтому измените все вызовы на phpfmg_hsc(), чтобы иметь значение по умолчанию, самым простым решением было бы сделать

phpfmg_hsc('field_1', '') 

, чтобы указать, что поле оставлено пустым

Вы можете подумать об изменении самой функции, как это, но, поскольку этот код не ваш, это может не быть лучшей идеей, как если бы вы когда-либо обновили это дополнение, ваша проблема вернется.

function phpfmg_hsc($field, $default=''){
    echo isset($_POST[ $field ])
         ? HtmlSpecialChars( $_POST[ $field ] )
         : $default;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...