0

我要设计2个php页面,一个是用户必须填写的个人详细信息表单,另一个是提交后在个人详细信息表单中显示所有个人详细信息。我的问题是提交的图像没有显示在第二页。我的代码有什么问题?我的代码如下所示:

<!DOCTYPE html>
<head>
<title></title>
//for preview a image 
   <script type="text/javascript">
 function readURL(input) {
        if (input.files && input.files[0]) {
            var reader = new FileReader();

            reader.onload = function (e) {
                $('#blah').attr('src', e.target.result);
            }

            reader.readAsDataURL(input.files[0]);
        }
    }
     </script>
    </head>
    <body>
         <form name="rform" method="get" action="researchers.php">  
        <h4>Researchers Profile</h4> 

         <fieldset>
    <legend>Personal Details</legend>
        <form id="form1" method="get" action="researchers.php" enctype="multipart/form-data" id="pro_image">
       <input type='file' onchange="readURL(this);" name="image" id="image"/>
        <br><img id="blah" src="profile pic.jpg" alt="your image" width="160px" height="120px"/><br/>
        </form>

     <input type="submit" name="savebtn" value="Save"/>
     </form>                

研究人员.php 页面

<?php

 $name=$_FILES['image']['name']; 
 $tmp=$_FILES['image']['tmp_name'];
 $new=time().$name;
 $new="upload/".$new;
 move_uploaded_file($tmp,$new);
 if($_FILES['image']['error']==0)
  {

 ?>
 <br /><img src="<?php echo $new;?>" width="100" height="100"/>
 <?php
 }
 ?>    
4

1 回答 1

1

尝试将您的<form>方法更改post为 php 手册中的$_FILES- http://www.php.net/manual/en/reserved.variables.files.php

描述

通过 HTTP POST 方法上传到当前脚本的项目的关联数组。

您还需要添加enctype="multipart/form-data"- http://www.w3.org/TR/html401/interact/forms.html#adef-enctype

<form name="rform" method="post" action="researchers.php" enctype="multipart/form-data">

另见http://www.php.net/manual/en/features.file-upload.post-method.php

于 2013-05-02T04:42:24.137 回答