Подтвердить что ты не робот

Как исправить "Примечание: неопределенный индекс:" в действии формы PHP

Я получил следующее сообщение об ошибке при попытке отправить содержимое в мою форму. Как я могу это исправить?

Примечание: неопределенный индекс: имя файла в D:\wamp\www\update.php в строке 4

Пример кода Update.php:

<?php

    $index = 1;
    $filename = $_POST['filename'];

    echo $filename;
?>

И $ _POST ['filename'] приходит с другой страницы:

<?php
    $db = substr($string[0],14) . "_" . substr($string[1],14) . "_db.txt";
?>

<input type="hidden" name="filename" value="<?php echo $db; ?>">
4b9b3361

Ответ 1

Assuming вы только копируете/вставляете соответствующий код, а ваша форма включает <form method="POST">


if(isset($_POST['filename'])){
    $filename = $_POST['filename'];
}
if(isset($filename)){ 
    echo $filename;
}

Если _POST не задано, переменная filename не будет либо в приведенном выше примере.

Альтернативный способ:

$filename = false;
if(isset($_POST['filename'])){
    $filename = $_POST['filename'];
 } 
    echo $filename; //guarenteed to be set so isset not needed

В этом примере имя файла устанавливается независимо от ситуации с _POST. Это должно хорошо продемонстрировать использование isset.

Дополнительная информация здесь: http://php.net/manual/en/function.isset.php

Ответ 2

if(isset($_POST['form_field_name'])) {
    $variable_name = $_POST['form_field_name'];
}

Ответ 3

Измените $ _POST на $ _FILES и убедитесь, что ваш enctype является "multipart/form-data"

Ваше поле ввода на самом деле в форме?

<form method="POST" action="update.php">
    <input type="hidden" name="filename" value="test" />
</form>

Ответ 4

if(!empty($_POST['filename'])){
$filename = $_POST['filename'];

echo $filename;
}

Ответ 5

Просто

if(isset($_POST['filename'])){
 $filename = $_POST['filename'];
 echo $filename;
}
else{
 echo "POST filename is not assigned";
}

Ответ 6

используйте isset для этой цели

<?php

 $index = 1;
 if(isset($_POST['filename'])) {
     $filename = $_POST['filename'];
     echo $filename;
 }

? >

Ответ 7

Используйте empty(), чтобы проверить, доступна ли она. Попробуйте с помощью

будет генерировать ошибку, если хост отсутствует  здесь

if(!empty($_GET["host"]))
if($_GET["host"]!="")

Ответ 8

Пожалуйста, попробуйте

error_reporting = E_ALL & ~E_NOTICE

в php.ini

Ответ 9

(!) Примечание: неопределенная переменная: u (!) Примечание: неопределенная переменная: p и т.д.

if(isset($_POST['u'])){
    $u = $_POST['u'];
}

if(isset($_POST['p'])){
    $p = $_POST['p'];
}

if(isset($_POST['country'])){
    $country= $_POST['country'];
}

if(isset($_POST['city'])){
    $city = $_POST['city'];
}

 if(isset($_POST['zipcode'])){
     $zipcode = $_POST['zipcode'];
}

if(isset($_POST['add'])){
   $add = $_POST['add'];
}

if(isset($_POST['phone'])){
    $phone = $_POST['phone'];
}
if(isset($_POST['e'])){
    $e = $_POST['e'];
}
$query = ("INSERT INTO 'customer'('Customer_name', 'password', 'country', 'city', 'zip_code', 'address', 'phone', 'email') VALUES (['$u'],['$p'],['$country'],['$city'],['$zipcode'],['$add'],['$phone'],['$e'])");

Ответ 10

Коротко говоря, вы можете использовать троичные операторы

$filename = !empty($_POST['filename'])?$_POST['filename']:'-';

Ответ 11

enctype="multipart/form-data"

Проверьте свой энктип в форме перед отправкой