Я пытаюсь создать данные для вставки действия отправки в базу данных с помощью
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.
Также убедитесь, что переменная находится в той области, в которой вы работаете. Если переменная объявлена в одном файле, но используется в другом файле, убедитесь, что файл, в котором объявлена переменная, включен в файл, в котором вы хотите использовать переменная. Кроме того, если переменная обрабатывается в области действия функции, она будет доступна только в области действия этой функции.
при работе с глобальными областями и значениями по умолчанию рекомендуется иметь один файл, содержащий эти переменные, как определяет, а затем включать его на соответствующие страницы. Таким образом, у вас также будет только одно место для редактирования / добавления глобальных значений по умолчанию.
Он что-то публикует, но по какой-то причине не может найти переменную, но я несколько исправил ее, создав сеанс и введя переменную в данные сеанса
@Veraen, скорее всего, у вас не было доступа к переменной (см. Предыдущие комментарии) или она была перезаписана пустой строкой.
@Martin Что довольно странно, учитывая, что в следующей строке я мог правильно print_r($name); переменную, также попытался распечатать ее до и после упомянутого кода в сообщении и все еще работал






Возможный дубликат Ссылка: Что такое область видимости переменных, какие переменные доступны откуда и что такое ошибки «неопределенная переменная»?