Я получил следующее сообщение об ошибке, когда попытался отправить контент в мою форму. Как я могу его исправить?
Примечание. Неопределенный индекс: имя файла в 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; ?>">
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
if(isset($_POST['form_field_name'])) { $variable_name = $_POST['form_field_name']; }
Измените $ _POST на $ _FILES и убедитесь, что ваш enctype является "multipart / form-data"
Edit: Nevermind, просто прочитайте остальную часть сообщения. Оставьте это мне, чтобы читать вещи. Скоро представит реальный ответ.
ИЗМЕНИТЬ 2: Хорошо.
Действительно ли ваше поле ввода в форме?
<form method="POST" action="update.php"> <input type="hidden" name="filename" value="test" /> </form>
if(!empty($_POST['filename'])){ $filename = $_POST['filename']; echo $filename; }
Просто
if(isset($_POST['filename'])){ $filename = $_POST['filename']; echo $filename; } else{ echo "POST filename is not assigned"; }
использовать isset
для этой цели
<?php $index = 1; if(isset($_POST['filename'])) { $filename = $_POST['filename']; echo $filename; }
?>
Используйте empty()
для проверки доступности. Попробуйте –
будет генерировать ошибку, если хост здесь отсутствует
if(!empty($_GET["host"])) if($_GET["host"]!="")
Попробуйте это
error_reporting = E_ALL & ~E_NOTICE
в php.ini