How to fix 'Notice: Undefined index:' in PHP form action

Change $_POST to $_FILES and make sure your enctype is "multipart/form-data"

Is your input field actually in a form?

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

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

Assuming you only copy/pasted the relevant code and your form includes <form method="POST">


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

If _POST is not set the filename variable won't be either in the above example.

An alternative way:

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

In this example filename is set regardless of the situation with _POST. This should demonstrate the use of isset nicely.

More information here: http://php.net/manual/en/function.isset.php


short way, you can use Ternary Operators

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

Tags:

Php

Forms

Post