& ldquo; Примечание: неопределенная переменная & rdquo ;, & ldquo; Примечание: неопределенный индекс & rdquo; и & ldquo; Примечание: неопределенное смещение & rdquo; используя PHP

Я запускаю PHP-скрипт и продолжаю получать ошибки, такие как:

Примечание: неопределенная переменная: my_variable_name в C: \ wamp \ www \ mypath \ index.php в строке 10

Примечание: неопределенный индекс: my_index C: \ wamp \ www \ mypath \ index.php в строке 11

Строки 10 и 11 выглядят так:

echo "My variable value is: " . $my_variable_name;
echo "My index value is: " . $my_array["my_index"];

Что означают эти сообщения об ошибках?

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

Как их исправить?


Это общий вопрос , с которым люди могут ссылаться как дубликаты, вместо того, чтобы объяснять выпускать снова и снова. Я чувствую, что это необходимо, потому что большинство реальных ответов на этот вопрос очень специфичны.

Связанные мета-обсуждения:

1095
задан 29 revs, 21 users 24% 7 July 2019 в 19:01
поделиться

20 ответов

Эти уведомления вызваны тем, что у вас нет используемой переменной defined, а ключ my_index не присутствовал в переменной $my_array.

Эти уведомления появлялись каждый раз, потому что ваш code неверен, но, вероятно, у вас не было сообщений об уведомлениях.

Решить ошибки:

$my_variable_name = "Variable name"; // defining variable
echo "My variable value is: " . $my_variable_name;

if(isset($my_array["my_index"])){
    echo "My index value is: " . $my_array["my_index"]; // check if my_index is set 
}

Еще один способ получить это:

ini_set("error_reporting", false)
-1
ответ дан Andrei Todorut 7 July 2019 в 19:01
поделиться

быстрое решение состоит в том, чтобы присвоить вашей переменной значение null в верхней части кода

$user_location = null;
20
ответ дан Shahin Mammadzada 7 July 2019 в 19:01
поделиться

Одной из распространенных причин того, что переменная не существует после отправки HTML-формы, является то, что элемент формы не содержится в теге <form>:

Пример: элемент не содержится в <form>

<form action="example.php" method="post">
    <p>
        <input type="text" name="name" />
        <input type="submit" value="Submit" />
    </p>
</form>

<select name="choice">
    <option value="choice1">choice 1</option>
    <option value="choice2">choice 2</option>
    <option value="choice3">choice 3</option>
    <option value="choice4">choice 4</option>
</select>

Пример: Элемент теперь содержится в <form>

<form action="example.php" method="post">
    <select name="choice">
        <option value="choice1">choice 1</option>
        <option value="choice2">choice 2</option>
        <option value="choice3">choice 3</option>
        <option value="choice4">choice 4</option>
    </select>
    <p>
        <input type="text" name="name" />
        <input type="submit" value="Submit" />
    </p>
</form>
0
ответ дан John Conde 7 July 2019 в 19:01
поделиться

Вероятно, вы использовали старую версию PHP до того момента, а теперь обновили PHP, поэтому он работал без ошибок до сих пор из лет. до PHP4 не было никакой ошибки, если вы используете переменную без ее определения, но начиная с PHP5 она выдает ошибки для кодов, подобных упомянутым в вопросе.

0
ответ дан phvish 7 July 2019 в 19:01
поделиться

неопределенный индекс означает в массиве, который вы запросили для недоступного индекса массива, например,

<?php 

$newArray[] = {1,2,3,4,5};
print_r($newArray[5]);

?>

неопределенная переменная означает, что вы использовали полностью не существующую переменную или которая не определена или инициализирована этим именем, например

<?php print_r($myvar); ?>

неопределенное смещение означает, что в массиве вы запросили несуществующий ключ. И решение этой проблемы заключается в проверке перед использованием

php> echo array_key_exists(1, $myarray);
6
ответ дан 2 revs, 2 users 84% 7 July 2019 в 19:01
поделиться

Очень простым языком .
Ошибка в том, что вы используете переменную $user_location, которая не была определена вами ранее и не имеет никакого значения. Поэтому я рекомендую вам объявить эту переменную до используя it, например:


$user_location = '';
или
$user_location = 'Los Angles';
Это очень распространенная ошибка Вы можете столкнуться. Так что не волнуйтесь, просто объявите переменную и Наслаждайтесь кодированием .
14
ответ дан Rishabh Seth 7 July 2019 в 19:01
поделиться

Это означает, что вы тестируете, оцениваете или распечатываете переменную, которой вы еще ничего не присвоили. Это означает, что у вас либо опечатка, либо вам нужно сначала проверить, что переменная была инициализирована. Проверьте ваши логические пути, они могут быть установлены в одном пути, но не в другом.

40
ответ дан 2 revs 7 July 2019 в 19:01
поделиться

Обычно из-за «плохого программирования» и возможности ошибок сейчас или позже.

  1. Если это ошибка, сначала сделайте правильное присвоение переменной: $ varname = 0;
  2. Если она действительно определяется только иногда, проверьте ее: if (isset($varname)), прежде чем использовать ее
  3. Если это потому, что вы написали это неправильно, просто исправьте это
  4. Может быть, даже поворот предупреждений в вас Настройки PHP
44
ответ дан 2 revs, 2 users 83% 7 July 2019 в 19:01
поделиться

В PHP 7.0 теперь можно использовать оператор объединения нулей:

echo "My index value is: " . ($my_array["my_index"] ?? '');

Равен:

echo "My index value is: " . (isset($my_array["my_index"]) ? $my_array["my_index"] : '');

PHP manual PHP 7.0

14
ответ дан elpiel 7 July 2019 в 19:01
поделиться

Я все время использую собственную полезную функцию exst () , которая автоматически объявляет переменные.

Ваш код будет -

$greeting = "Hello, ".exst($user_name, 'Visitor')." from ".exst($user_location);


/** 
 * Function exst() - Checks if the variable has been set 
 * (copy/paste it in any place of your code)
 * 
 * If the variable is set and not empty returns the variable (no transformation)
 * If the variable is not set or empty, returns the $default value
 *
 * @param  mixed $var
 * @param  mixed $default
 * 
 * @return mixed 
 */

function exst( & $var, $default = "")
{
    $t = "";
    if ( !isset($var)  || !$var ) {
        if (isset($default) && $default != "") $t = $default;
    }
    else  {  
        $t = $var;
    }
    if (is_string($t)) $t = trim($t);
    return $t;
}
14
ответ дан 2 revs 7 July 2019 в 19:01
поделиться

Эти ошибки возникают всякий раз, когда мы используем переменную, которая не установлена.

Лучший способ справиться с этим - это набор отчетов об ошибках во время разработки.

Чтобы настроить отчеты об ошибках на:

ini_set('error_reporting', 'on');
ini_set('display_errors', 'on');
error_reporting(E_ALL);

На производственных серверах отчеты об ошибках отключены, поэтому мы не получаем эти ошибки.

Однако на сервере разработки мы можем установить отчеты об ошибках.

Чтобы избавиться от этой ошибки, мы видим следующий пример:

if ($my == 9) {
 $test = 'yes';  // Will produce error as $my is not 9.
}
echo $test;

Мы можем инициализировать переменные в NULL перед присвоением их значений или их использованием.

Таким образом, мы можем изменить код следующим образом:

$test = NULL;
if ($my == 9) {
 $test = 'yes';  // Will produce error as $my is not 9.
}
echo $test;

Это не будет нарушать логику программы и не будет создавать Уведомление, даже если $test не имеет значения.

Так что, в принципе, всегда лучше включить ON для создания отчетов об ошибках.

И исправить все ошибки.

А на производстве сообщение об ошибке должно быть отключено.

0
ответ дан 2 revs, 2 users 96% 7 July 2019 в 19:01
поделиться

Я задал вопрос по этому поводу, и меня отправили на этот пост с сообщением:

На этот вопрос уже есть ответ:

«Примечание: неопределенная переменная», «Уведомление: неопределенный индекс» и «Уведомление: неопределенное смещение» с использованием PHP

Я делюсь своим вопросом и решением здесь:

Это ошибка:

enter image description here

Строка 154 - это проблема. Это то, что у меня есть в строке 154:

153    foreach($cities as $key => $city){
154        if(($city != 'London') && ($city != 'Madrid') && ($citiesCounterArray[$key] >= 1)){

Я думаю, проблема в том, что я пишу условия для переменной $city, которая является не ключом, а значением в $key => $city. Во-первых, не могли бы вы подтвердить, является ли это причиной предупреждения? Во-вторых, если это проблема, почему я не могу написать условие, основанное на значении? Должно ли это быть с ключом, который мне нужен для записи условия?

ОБНОВЛЕНИЕ 1: Проблема в том, что при выполнении $citiesCounterArray[$key] иногда $key соответствует ключу, который не существует в $citiesCounterArray массив, но это не всегда так, основываясь на данных моего цикла. Мне нужно установить условие, чтобы, если в массиве было $key, запустить код, в противном случае пропустить его.

ОБНОВЛЕНИЕ 2: Вот как я это исправил, используя array_key_exists():

foreach($cities as $key => $city){
    if(array_key_exists($key, $citiesCounterArray)){
        if(($city != 'London') && ($city != 'Madrid') && ($citiesCounterArray[$key] >= 1)){
0
ответ дан Jaime Montoya 7 July 2019 в 19:01
поделиться

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

Т.е.:

$query = "SELECT col1 FROM table WHERE col_x = ?";

Затем пытаемся получить доступ к большему количеству столбцов / строк внутри цикла.

То есть:

print_r($row['col1']);
print_r($row['col2']); // undefined index thrown

или в цикле while:

while( $row = fetching_function($query) ) {

    echo $row['col1'];
    echo "<br>";
    echo $row['col2']; // undefined index thrown
    echo "<br>";
    echo $row['col3']; // undefined index thrown

}

Что-то еще, что следует отметить, - это в * NIX OS и Mac OS X, все зависит от регистра.

См. Следующие вопросы и ответы по стеку:

3
ответ дан 3 revs 7 July 2019 в 19:01
поделиться

Относительно этой части вопроса:

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

Определенных ответов нет, но вот некоторые возможные объяснения того, почему настройки могут «внезапно» измениться:

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

  2. Вы удалили или ввели некоторый код (возможно, в зависимости), который устанавливает соответствующие настройки во время выполнения, используя ini_set() или error_reporting() (найдите их в коде)

  3. Вы изменили конфигурацию веб-сервера (при условии, что здесь используется apache): .htaccess файлы и конфигурации vhost также могут управлять настройками php.

  4. Обычно уведомления не отображаются / не отображаются (см. Руководство по PHP )), поэтому возможно, что при настройке сервера файл php.ini не мог быть загружен по какой-либо причине ( права доступа к файлам ??) а у вас были настройки по умолчанию. Позднее «ошибка» была устранена (случайно), и теперь она МОЖЕТ загрузить правильный файл php.ini с установленным значением error_reporting для отображения уведомлений.

4
ответ дан Wouter de Winter 7 July 2019 в 19:01
поделиться

Лучший способ для получения ввода строка является:

$value = filter_input(INPUT_POST, 'value');

Это один лайнер почти эквивалентно:

if (!isset(

Лучший способ для получения ввода строка является:

[110]

Это один лайнер почти эквивалентно:

[111]

Если вы абсолютно хотите значение строки , например:

$value = (string)filter_input(INPUT_POST, 'value');
POST['value'])) { $value = null; } elseif (is_array(

Лучший способ для получения ввода строка является:

[110]

Это один лайнер почти эквивалентно:

[111]

Если вы абсолютно хотите значение строки , например:

$value = (string)filter_input(INPUT_POST, 'value');
POST['value'])) { $value = false; } else { $value =

Лучший способ для получения ввода строка является:

[110]

Это один лайнер почти эквивалентно:

[111]

Если вы абсолютно хотите значение строки , например:

$value = (string)filter_input(INPUT_POST, 'value');
POST['value']; }

Если вы абсолютно хотите значение строки , например:

$value = (string)filter_input(INPUT_POST, 'value');
26
ответ дан mpyw 7 July 2019 в 19:01
поделиться

Я не хотел отключать уведомление, потому что это полезно, но хотел избежать слишком большого количества печатания.

Мое решение было этой функцией:

function ifexists($varname)
{
  return(isset($varname)?$varname:null);
}

Так что, если я хочу сослаться на $ name и echo, если существует, я просто пишу:

<?=ifexists('name')?>

Для массива элементы:

function ifexistsidx($var,$index)
{
  return(isset($var[$index])?$var[$index]:null);
}

На странице, если я хочу сослаться на $ _REQUEST ['name']:

<?=ifexistsidx(

Я не хотел отключать уведомление, потому что это полезно, но хотел избежать слишком большого количества печатания.

Мое решение было этой функцией:

[110]

Так что, если я хочу сослаться на $ name и echo, если существует, я просто пишу:

[111]

Для массива элементы:

[112]

На странице, если я хочу сослаться на $ _REQUEST ['name']:

[113]REQUEST,'name')?>
34
ответ дан Ferenci Zoltán László 7 July 2019 в 19:01
поделиться

Использование троичного просто, доступно для чтения и очистки:

Предварительно PHP 7
Назначение переменной значение другой переменной, если она установлена, в противном случае присвойте null (или любое другое значение по умолчанию , которое вам нужно):

$newVariable = isset($thePotentialData) ? $thePotentialData : null;

PHP 7+
То же самое, за исключением использования нулевого оператора слияния . Больше нет необходимости вызывать isset(), поскольку он встроен, и нет необходимости предоставлять переменную для возврата, поскольку предполагается, что она возвращает значение проверяемой переменной:

$newVariable = $thePotentialData ?? null;

Оба остановят Уведомления от вопроса OP, и оба являются точным эквивалентом:

if (isset($thePotentialData)) {
    $newVariable = $thePotentialData;
} else {
    $newVariable = null;
}

& nbsp;
Если вам не требуется установив новую переменную, вы можете напрямую использовать возвращаемое значение троичной переменной, например, с echo, аргументами функций и т. д .:

Echo:

echo 'Your name is: ' . isset($name) ? $name : 'You did not provide one';

Функция:

$foreName = getForeName(isset($userId) ? $userId : null);

function getForeName($userId)
{
    if ($userId === null) {
        // Etc
    }
}

Вышеописанное будет работать точно так же с массивами, включая сеансы и т. Д., Заменяя проверяемую переменную, например:

Использование троичного просто, доступно для чтения и очистки:

Предварительно PHP 7
Назначение переменной значение другой переменной, если она установлена, в противном случае присвойте [115] (или любое другое значение по умолчанию , которое вам нужно):

[110]

PHP 7+
То же самое, за исключением использования нулевого оператора слияния . Больше нет необходимости вызывать [116], поскольку он встроен, и нет необходимости предоставлять переменную для возврата, поскольку предполагается, что она возвращает значение проверяемой переменной:

[111]

Оба остановят Уведомления от вопроса OP, и оба являются точным эквивалентом:

[112]

& nbsp;
Если вам не требуется установив новую переменную, вы можете напрямую использовать возвращаемое значение троичной переменной, например, с [117], аргументами функций и т. д .:

Echo:

[113]

Функция:

[114]

Вышеописанное будет работать точно так же с массивами, включая сеансы и т. Д., Заменяя проверяемую переменную, например:
[118]
или сколько вам нужно глубоких уровней, например:
$clients['personal']['address']['postcode']

<час>

& nbsp;

Подавление:

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

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

Если вы просто заботитесь о том, чтобы Уведомление не было в журнале ошибок, то в качестве опции вы можете просто проигнорировать журнал ошибок.

SESSION['checkMe']

или сколько вам нужно глубоких уровней, например:
$clients['personal']['address']['postcode']

<час>

& nbsp;

Подавление:

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

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

Если вы просто заботитесь о том, чтобы Уведомление не было в журнале ошибок, то в качестве опции вы можете просто проигнорировать журнал ошибок.

2
ответ дан James 7 July 2019 в 19:01
поделиться

ПОЧЕМУ ЭТО ПРОИСХОДИТ?

Со временем PHP стал более ориентированным на безопасность языком. Настройки, которые раньше были отключены по умолчанию, теперь включены по умолчанию. Прекрасным примером этого является E_STRICT, который стал включенным по умолчанию с PHP 5.4.0 .

Кроме того, согласно документации PHP, по умолчанию, E_NOTICE отключен в php.ini. Документы PHP рекомендуют включать его в целях отладки . Однако когда я загружаю PHP из репозитория Ubuntu - и из стека Windows BitNami - я вижу что-то еще.

; Common Values:
;   E_ALL (Show all errors, warnings and notices including coding standards.)
;   E_ALL & ~E_NOTICE  (Show all errors, except for notices)
;   E_ALL & ~E_NOTICE & ~E_STRICT  (Show all errors, except for notices and coding standards warnings.)
;   E_COMPILE_ERROR|E_RECOVERABLE_ERROR|E_ERROR|E_CORE_ERROR  (Show only errors)
; Default Value: E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED
; Development Value: E_ALL
; Production Value: E_ALL & ~E_DEPRECATED & ~E_STRICT
; http://php.net/error-reporting
error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

Обратите внимание, что по умолчанию error_reporting установлено на производственное значение, а не на значение «по умолчанию» по умолчанию. Это несколько сбивает с толку и не документировано за пределами php.ini, поэтому я не проверял это в других дистрибутивах.

Однако, чтобы ответить на ваш вопрос, эта ошибка появляется сейчас, когда она не появлялась раньше, потому что:

  1. Вы установили PHP, и новые настройки по умолчанию несколько плохо документированы, но делают не исключают E_NOTICE.

  2. E_NOTICE предупреждения, такие как неопределенные переменные и неопределенные индексы, на самом деле помогают сделать ваш код чище и безопаснее. Я могу вам сказать, что несколько лет назад включение E_NOTICE включило меня и объявило мои переменные. Это значительно облегчило изучение языка C, если не объявлять переменные, это намного больше неприятностей.

ЧТО МОЖНО СДЕЛАТЬ ОБ ЭТОМ?

  1. Выключите E_NOTICE, скопировав «Значение по умолчанию» E_ALL & ~E_NOTICE & ~E_STRICT & ~E_DEPRECATED и заменив его на что в настоящее время не комментируется после знака равенства в error_reporting =. Перезапустите Apache или PHP, если используете CGI или FPM. Убедитесь, что вы редактируете «правильный» php.ini. Правильный вариант будет Apache, если вы используете PHP с Apache, fpm или php-fpm, если вы используете PHP-FPM, cgi, если вы используете PHP-CGI и т. Д. Это не рекомендуемый метод, но если у вас есть устаревший код, который собирается быть чрезвычайно трудным для редактирования, тогда это может быть вашим лучшим выбором.

  2. Отключите E_NOTICE на уровне файла или папки. Это может быть предпочтительнее, если у вас есть какой-то устаревший код, но в противном случае вы хотите сделать все «правильно». Для этого вам следует проконсультироваться с Apache2, Nginx или любым другим вашим сервером. В Apache вы должны использовать php_value внутри <Directory>.

  3. Перепиши свой код, чтобы он стал чище. Если вам нужно сделать это при переходе в производственную среду или вы не хотите, чтобы кто-то видел ваши ошибки, убедитесь, что вы отключили отображение ошибок, и только регистрируете ваши ошибки (см. display_errors и log_errors в php.ini и настройках вашего сервера).

Расширить вариант 3: Это идеальный вариант. Если вы можете пойти по этому пути, вы должны. Если вы изначально не идете по этому пути, рассмотрите возможность его перемещения в конечном итоге, протестировав свой код в среде разработки. Пока вы в этом, избавьтесь от ~E_STRICT и ~E_DEPRECATED, чтобы увидеть, что может пойти не так в будущем. Вы увидите много незнакомых ошибок, но это предотвратит возникновение неприятных проблем при необходимости обновления PHP в будущем.

ЧТО ОЗНАЧАЮТ ОШИБКИ?

Undefined variable: my_variable_name - Это происходит, когда переменная не была определена перед использованием. Когда скрипт PHP выполняется, он просто принимает нулевое значение. Однако в каком сценарии вам нужно проверить переменную, прежде чем она будет определена? В конечном счете, это аргумент в пользу «небрежного кода». Как разработчик, я могу сказать, что мне нравится, когда я вижу проект с открытым исходным кодом, в котором переменные определены настолько высоко, насколько это возможно. Это упрощает определение переменных, которые появятся в будущем, и облегчает чтение / изучение кода.

function foo()
{
    $my_variable_name = '';

    //....

    if ($my_variable_name) {
        // perform some logic
    }
}

Undefined index: my_index - это происходит, когда вы пытаетесь получить доступ к значению в массиве, а оно не существует. Чтобы предотвратить эту ошибку, выполните условную проверку.

// verbose way - generally better
if (isset($my_array['my_index'])) {
    echo "My index value is: " . $my_array['my_index'];
}

// non-verbose ternary example - I use this sometimes for small rules.
$my_index_val = isset($my_array['my_index'])?$my_array['my_index']:'(undefined)';
echo "My index value is: " . $my_index_val;   

Другой вариант - объявить пустой массив в верхней части вашей функции. Это не всегда возможно.

$my_array = array(
    'my_index' => ''
);

//...

$my_array['my_index'] = 'new string';

(дополнительный совет)

  • Когда я столкнулся с этими и другими проблемами, я использовал NetBeans IDE (бесплатно), и он дал мне множество предупреждений и уведомления. Некоторые из них предлагают очень полезные советы. Это не является обязательным требованием, и я больше не использую интегрированные среды разработки, за исключением крупных проектов. Я больше человек vim в эти дни :).
  • [Одна тысяча сто пятьдесят четыре]
8
ответ дан 2 revs, 2 users 96% 7 July 2019 в 19:01
поделиться

Попробуйте это

В1: это уведомление означает, что $ varname не определено в текущей области действия скрипта.

В2: Использование условий isset (), empty () перед использованием любой подозрительной переменной работает хорошо.

// recommended solution for recent PHP versions
$user_name = 

Попробуйте это

В1: это уведомление означает, что $ varname не определено в текущей области действия скрипта.

В2: Использование условий isset (), empty () перед использованием любой подозрительной переменной работает хорошо.

[110]

Или, как быстрое и грязное решение:

// not the best solution, but works
// in your php setting use, it helps hiding site wide notices
error_reporting(E_ALL ^ E_NOTICE);

Примечание о сессиях:

SESSION['user_name'] ?? ''; // pre-7 PHP versions $user_name = ''; if (!empty(

Попробуйте это

В1: это уведомление означает, что $ varname не определено в текущей области действия скрипта.

В2: Использование условий isset (), empty () перед использованием любой подозрительной переменной работает хорошо.

[110]

Или, как быстрое и грязное решение:

// not the best solution, but works
// in your php setting use, it helps hiding site wide notices
error_reporting(E_ALL ^ E_NOTICE);

Примечание о сессиях:

SESSION['user_name'])) { $user_name =

Попробуйте это

В1: это уведомление означает, что $ varname не определено в текущей области действия скрипта.

В2: Использование условий isset (), empty () перед использованием любой подозрительной переменной работает хорошо.

[110]

Или, как быстрое и грязное решение:

// not the best solution, but works
// in your php setting use, it helps hiding site wide notices
error_reporting(E_ALL ^ E_NOTICE);

Примечание о сессиях:

SESSION['user_name']; }

Или, как быстрое и грязное решение:

// not the best solution, but works
// in your php setting use, it helps hiding site wide notices
error_reporting(E_ALL ^ E_NOTICE);

Примечание о сессиях:

129
ответ дан 9 revs, 5 users 62% 7 July 2019 в 19:01
поделиться

При работе с файлами требуются надлежащий enctype и метод POST, который вызовет неопределенное уведомление об индексе, если оба из них не включены в форму.

В руководстве изложен следующий основной синтаксис:

HTML

<!-- The data encoding type, enctype, MUST be specified as below -->
<form enctype="multipart/form-data" action="__URL__" method="POST">
    <!-- MAX_FILE_SIZE must precede the file input field -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- Name of input element determines name in 

При работе с файлами требуются надлежащий enctype и метод POST, который вызовет неопределенное уведомление об индексе, если оба из них не включены в форму.

В руководстве изложен следующий основной синтаксис:

HTML

[110]

PHP

<?php
// In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
// of 

При работе с файлами требуются надлежащий enctype и метод POST, который вызовет неопределенное уведомление об индексе, если оба из них не включены в форму.

В руководстве изложен следующий основной синтаксис:

HTML

[110]

PHP

[111]

Ссылка :

FILES. $uploaddir = '/var/www/uploads/'; $uploadfile = $uploaddir . basename(

При работе с файлами требуются надлежащий enctype и метод POST, который вызовет неопределенное уведомление об индексе, если оба из них не включены в форму.

В руководстве изложен следующий основной синтаксис:

HTML

[110]

PHP

[111]

Ссылка :

FILES['userfile']['name']); echo '<pre>'; if (move_uploaded_file(

При работе с файлами требуются надлежащий enctype и метод POST, который вызовет неопределенное уведомление об индексе, если оба из них не включены в форму.

В руководстве изложен следующий основной синтаксис:

HTML

[110]

PHP

[111]

Ссылка :

FILES['userfile']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully uploaded.\n"; } else { echo "Possible file upload attack!\n"; } echo 'Here is some more debugging info:'; print_r(

При работе с файлами требуются надлежащий enctype и метод POST, который вызовет неопределенное уведомление об индексе, если оба из них не включены в форму.

В руководстве изложен следующий основной синтаксис:

HTML

[110]

PHP

[111]

Ссылка :

FILES); print "</pre>"; ?>

Ссылка :

FILES array --> Send this file: <input name="userfile" type="file" /> <input type="submit" value="Send File" /> </form>

PHP

<?php
// In PHP versions earlier than 4.1.0, $HTTP_POST_FILES should be used instead
// of 

При работе с файлами требуются надлежащий enctype и метод POST, который вызовет неопределенное уведомление об индексе, если оба из них не включены в форму.

В руководстве изложен следующий основной синтаксис:

HTML

[110]

PHP

[111]

Ссылка :

FILES. $uploaddir = '/var/www/uploads/'; $uploadfile = $uploaddir . basename(

При работе с файлами требуются надлежащий enctype и метод POST, который вызовет неопределенное уведомление об индексе, если оба из них не включены в форму.

В руководстве изложен следующий основной синтаксис:

HTML

[110]

PHP

[111]

Ссылка :

FILES['userfile']['name']); echo '<pre>'; if (move_uploaded_file(

При работе с файлами требуются надлежащий enctype и метод POST, который вызовет неопределенное уведомление об индексе, если оба из них не включены в форму.

В руководстве изложен следующий основной синтаксис:

HTML

[110]

PHP

[111]

Ссылка :

FILES['userfile']['tmp_name'], $uploadfile)) { echo "File is valid, and was successfully uploaded.\n"; } else { echo "Possible file upload attack!\n"; } echo 'Here is some more debugging info:'; print_r(

При работе с файлами требуются надлежащий enctype и метод POST, который вызовет неопределенное уведомление об индексе, если оба из них не включены в форму.

В руководстве изложен следующий основной синтаксис:

HTML

[110]

PHP

[111]

Ссылка :

FILES); print "</pre>"; ?>

Ссылка :

0
ответ дан Funk Forty Niner 7 July 2019 в 19:01
поделиться
Другие вопросы по тегам:

Похожие вопросы: