图像上传期间变量未正确传递

时间:2013-07-09 18:24:21

标签: php html forms

我正在尝试在页面上的每个食谱旁边放置一个上传按钮,因此我需要在图片上传过程中传递食谱ID值,以便图像路径保存在我的数据库中的每个配方旁边。但由于某些原因,我继续得到同样的错误:

 Notice: Undefined index: recipe_id in C:\xampp\htdocs\upload.php on line 4  

第4行是:$recipe_id = $_POST['recipe_id'];

以下是HTML表单:

<div class="upload_icon">
  <form id="<?php echo $recipe_id ?>" action="upload.php" method="POST"   
  enctype="multipart/form-data">
    <input type="file" name="image"  value="<?php echo $recipe_id ?>"/></input>
    <button type="submit" name="submit" value="add">Add image!</button>
  </form>
</div>

PHP部分(upload.php):

if ($_SERVER["REQUEST_METHOD"] == "POST");
  {

   $recipe_id = $_POST['recipe_id'];
   $name = $_FILES ['image'] ['name'];
   $tmp_name = $_FILES ['image'] ['tmp_name'];   

   $location = "uploads/$name";
   move_uploaded_file($tmp_name, $location);

   $update = query("UPDATE menu SET recipe_pic = '".$location."' WHERE recipe_id =   
  '$recipe_id' " );
  }   

?>

我做错了什么?

3 个答案:

答案 0 :(得分:2)

在渲染的HTML中没有提及recipe_id。试试这个:

<input type="hidden" name="recipe_id" value="<?php echo $recipe_id ?>">

答案 1 :(得分:2)

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

答案 2 :(得分:1)

您没有将名称为recipe_id的变量传递给PHP脚本 - 表单中没有该名称的输入。试试这个:

<form id="<?php echo $recipe_id ?>" action="upload.php" method="POST" enctype="multipart/form-data">
<input type="file" name="image" />
<input name="recipe_id" type="hidden" value="<?php echo $recipe_id ?>">
<button type="submit" name="submit" value="add">Add image!</button>
</form>