PHP Я не могу понять, откуда берется параметр

#php

#php

Вопрос:

         //VALIDATION
    if (isset($_POST['submit'])) {
        // initialize an array to hold our errors
        $errors = array();

        // perform validations on the form data
        $required_fields = array('menu_name', 'position', 'visible', 'content');
        $errors = array_merge($errors, check_required_fields($required_fields, $_POST));

        $fields_with_lengths = array('menu_name' => 30);
        $errors = array_merge($errors,  check_max_field_lengths($fields_with_lengths, $_POST))

    //------- FUNCTIONS ---------

    function check_required_fields($required_array) {
    $field_errors = array();
    foreach($required_array as $fieldname) {
        if (!isset($_POST[$fieldname]) || (empty($_POST[$fieldname]) amp;amp; $_POST[$fieldname] != 0)) { 
            $field_errors[] = $fieldname; 
        }
    }
    return $field_errors;
    }

    function check_max_field_lengths($field_length_array) {
    $field_errors = array();
    foreach($field_length_array as $fieldname => $maxlength ) {
        if (strlen(trim(mysql_prep($_POST[$fieldname]))) > $maxlength) {     $field_errors[] = $fieldname; }
    }
    return $field_errors;
    }
  

при проверке я не могу понять, откуда берется параметр «$ _POST»
Я новичок в php

при проверке я не могу понять, откуда берется параметр «$ _POST», я новичок в php

Комментарии:

1. почему вы не читали документацию по php?

2. это может спасти ваш глаз: xkcd.com/293

3. Извините, я имел в виду параметр $errors array $_POST внутри слияния массива

Ответ №1:

$ _POST — это супергруз, используемый PHP для хранения данных POST. Обычно он используется с HTML-формой.

Так, например, эта проверка была бы верной, если бы у вас было

 <form action="myphp.php" method="post">
<input type="submit" name="submit" />
</form>
  

и затем вы нажали на кнопку ввода.

http://us3.php.net/manual/en/reserved.variables.post.php

Комментарии:

1. Извините, я имел в виду параметр $errors array $_POST внутри слияния массива

2. Вы имеете в виду строки array_merge()?

Ответ №2:

$_POST указывает, что форма была отправлена на эту страницу с помощью метода=»post» (хотя он также мог быть передан сначала через jquery и ajax), а оператор if в основном проверяет, что поле формы (обычно кнопка отправки формы) с именем «отправить» было отправлено (или опубликовано) через.

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

Комментарии:

1. Извините, я имел в виду параметр $errors array $_POST внутри слияния массива

2. Он будет поступать точно из того же места — это глобальная переменная, в которой хранятся данные из отправленной формы