变量中的未定义索引

时间:2016-05-18 11:42:06

标签: php mysql var

我在第26和27行的变量中收到此错误。我一直在寻找问题本身,有些人说变量没有初始化。虽然我认为他们是。我也看到有人说要使用isset()/!empty(),但我不明白,以及它做了什么。

<?php

$nome = $_POST['nome'];   //26
$preco = $_POST['preco'];  //27

if(count($_FILES) > 0) {
if(is_uploaded_file($_FILES['userImage']['tmp_name'])) {
mysql_connect("localhost", "crc", "root");
mysql_select_db ("crc");
$imgData =addslashes(file_get_contents($_FILES['userImage'['tmp_name']));
$sql = "INSERT INTO fios (nome,preco,imagem)VALUES('$nome','$preco','{$imgData}')"; 
$current_id = mysql_query($sql) or die("<b>Erro:</b> Problema na imagem inserida!<br/>" . mysql_error());
if(isset($current_id)) {
header("Location: veradmin.php");
}}}
?>

<!DOCTYPE html>
<html>
<title>Inserir</title>
</head>
<body>

<form name="frmImage" enctype="multipart/form-data" action="" method="post" class="frmImageUpload">

<div align="center">          

            </p><tr>
              <td width="321"><strong>Nome/Descricao:</strong></td>
              <td width="102" align="left">
                 <input type="text" name="nome"  value="" size="40" />

              </td>
            </tr><p>

            </p><tr>
              <td width="321"><strong>Preco:</strong></td>
              <td width="102" align="left">
                 <input type="text" maxlength="9" name="preco"  value="" size="20" />

              </td><p>
            </p></tr>

            <input name="userImage" type="file" class="inputFile" /><p>

            </p><input type="submit" value="Inserir Registo" class="btnSubmit" />

</form>
</div>
</body>
</html> 

1 个答案:

答案 0 :(得分:1)

发生此问题是因为在第一次加载$ _POST [&#39; nome&#39;]和$ _POST [&#39; preco&#39;]为空且这些索引不存在。

在这种情况下,你应该检查!empty来运行这行:

if(!empty($_POST['nome']) && !empty($_POST['preco']))
{
      if(count($_FILES) > 0) {
           ...
      }
}

此时如果您发布表单,这些代码将会运行,这是显示这些通知的根本原因