日期:2014-05-17  浏览次数:20457 次

走投无路啦,关于表单的两步提交传递数组的问题
本帖最后由 kiseki_m 于 2012-11-09 16:11:45 编辑 小弟做了一个图片上传功能,首页面通过checkbox可以选择多个用户,选择后点击上传进入第二个上传页面,可以批量给多个用户目录上传图片,但现在问题出现了,第一个页面通过checkbox传递的用户ID 数组到了第二个上传图片的页面,一开始还是存在的,但点击“上传”按钮后,也就是提交第二个页面后,则会提示foreach错误,也就是说这个数组就不存在了……用session好像也不获取不到……球大家帮帮忙……



第二个页面,关键页面代码:
<?php
 session_start();
 require_once('pic_fns.php');
 include("upload.class.php");


 $edit_me = $_POST['edit_me'];                    //checkbox选中的数据储存在 edit_me数组中
 $valid_user = $_SESSION['valid_user'];          //检测是否登录

 do_html_header("上传图片广告 Upload pic for machine");  
   try{
     check_valid_user();                            //检测是否登录
   }catch(Exception $e){
       echo $e->getMessage();
     do_html_url('login_admin.php','返回');
     do_html_footer();
     exit;
   }
   
 foreach ($edit_me as $k){                        //循环上传图片,提交后显示WARNING foreach的数据为空

      if($_POST['submit']){                      //图片上传部分
          $image = new upload_image();
          $image->get_file_dir("pic/".$k."/");   //文件存放目录
          $image->get_upload_name($_FILES['file']['name']);
          $image->get_upload_size($_FILES['file']['size']);
          $image->get_upload_type($_FILES['file']['type']);
          $image->get_upload_tamp($_FILES['file']['tmp_name']);

          $image->upload();
           display_user_menu();
           do_html_footer;
      }
   }

  ?>
  <form action="" method="post" enctype="multipart/form-data">
    <table align="center">
       图片来源:<input type="file" name="file">
           <input type="hidden" name="hidden" value="a">
                <input type="submit" name="submit" value="上传">
    </table>
  </form><br />

  <?php

 display_user_menu();                
 do_html_footer;

?>


如果在这个页面开头创建一个新的数组,是可以循环上传图片的,但传递过