Глобальная переменная не работает внутри основного оператора IF

Я пытаюсь создать данные для вставки действия отправки в базу данных с помощью

if (isset($_POST['sendrqst'])) {
    $wpdb->insert("wp_refundrequests", [
        "product_name"  => $name,
        "product_qty"   => '5',
        "comment"       => "something",
        "customer_name" => "test",
        "refund_total"  => "200",
        "request_date"  => "2000" ,
    ]);
    $wpdb->print_error();
}

в другом файле, но хотя $ name работает везде правильно, даже за пределами собственного оператора «for», он не будет работать внутри этого вторичного файла, даже если он включен на главную страницу, вместо этого он выводит только имя самого файла из того, что он должен, это название продукта, выбранного из wpdb. Имя переменной происходит от этого:

$test = $_POST['productinfo'];
$total2 = 0;
for($i=0; $i < sizeof($test); $i++) {
    list($name, $quantity, $total) = explode("|", $test[$i]);

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

Однако у вас есть очень конкретный оператор if. if (isset($_POST['sendrqst'])) { //something }. Убедитесь, что $_POST['sendrqst']установлен при тестировании, иначе вы никогда не будете вводить оператор if.

Martin 25.09.2018 13:57

Также убедитесь, что переменная находится в той области, в которой вы работаете. Если переменная объявлена ​​в одном файле, но используется в другом файле, убедитесь, что файл, в котором объявлена ​​переменная, включен в файл, в котором вы хотите использовать переменная. Кроме того, если переменная обрабатывается в области действия функции, она будет доступна только в области действия этой функции.

Martin 25.09.2018 13:59

при работе с глобальными областями и значениями по умолчанию рекомендуется иметь один файл, содержащий эти переменные, как определяет, а затем включать его на соответствующие страницы. Таким образом, у вас также будет только одно место для редактирования / добавления глобальных значений по умолчанию.

Martin 25.09.2018 14:00

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

Veraen 25.09.2018 14:01

@Veraen, скорее всего, у вас не было доступа к переменной (см. Предыдущие комментарии) или она была перезаписана пустой строкой.

Martin 25.09.2018 14:02

@Martin Что довольно странно, учитывая, что в следующей строке я мог правильно print_r($name); переменную, также попытался распечатать ее до и после упомянутого кода в сообщении и все еще работал

Veraen 25.09.2018 14:04
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
7
53
0

Другие вопросы по теме