如何解决“注意:未定义指数:”在PHP形式的行动?(How to fix 'Notice:

2019-07-17 16:53发布

我收到以下错误消息,当我试图将内容提交给我的表格。 我怎么可以固定呢?

通知:未定义指数:文件名中d:\瓦帕\ WWW \ update.php在第4行

例如Update.php代码:

<?php

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

echo $filename;


?>

和$ _ POST [“名”]来自另一个页面:

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

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

Answer 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



Answer 2:

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


Answer 3:

更改$ _ POST到$ _FILES并确保您的加密类型是“多/表单数据”

是您输入字段实际上在形式?

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


Answer 4:

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

echo $filename;
}


Answer 5:

只是

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


Answer 6:

使用isset用于此目的

<?php

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

?>



Answer 7:

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

如果主机不存在,这里将产生错误

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


Answer 8:

请试试这个

error_reporting = E_ALL & ~E_NOTICE

在php.ini



Answer 9:

enctype="multipart/form-data"

检查你的加密类型的形式提交前



文章来源: How to fix 'Notice: Undefined index:' in PHP form action?
标签: php forms post