如何在PHP表单操作中修复'注意:未定义的索引:'?

时间:2012-12-31 05:41:51

标签: php forms post

当我尝试将内容提交到表单时,收到以下错误消息。我怎么修理它?

注意:第4行的D:\ wamp \ www \ update.php中未定义的索引:文件名

示例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; ?>">

10 个答案:

答案 0 :(得分:34)

Assuming您只需复制/粘贴相关代码,您的表单包含<form method="POST">


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

如果未设置_POSTfilename变量将不会出现在上面的示例中。

另一种方式:

$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

答案 1 :(得分:3)

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

答案 2 :(得分:2)

将$ _POST更改为$ _FILES,并确保您的enctype为“multipart / form-data”

您的输入字段实际上是否为表单?

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

答案 3 :(得分:1)

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

echo $filename;
}

答案 4 :(得分:0)

简单

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

答案 5 :(得分:0)

为此目的使用isset

<?php

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

&GT;

答案 6 :(得分:0)

使用empty()检查它是否可用。试试 -

如果主机不存在,

将生成错误  这里

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

答案 7 :(得分:0)

请试试这个

error_reporting = E_ALL & ~E_NOTICE

在php.ini中

答案 8 :(得分:0)

简短的方法,您可以使用三元运算符

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

答案 9 :(得分:-1)

enctype="multipart/form-data"

在提交前检查表单中的密码