文件上传表格不起作用

时间:2015-10-02 11:30:37

标签: javascript php html

我为用户文件上传创建了以下代码,但它似乎无法正常工作。

任何人都可以建议我做错了。

<?php
session_start();
if(empty($_SESSION['store_id'])){
		header('Location: ../pooler_login.php');
	}
	else{
		$store_id=$_SESSION['store_id'];	  
			//echo $store_id;
	}	
include_once("../config/db.php");

$result =mysql_query("SELECT * FROM pooler WHERE id='$id' LIMIT 1");
	$row = mysql_fetch_array($result);
if ($result) { //we have the product info 
				$email=$row['email'];
				$shop_name=$row['shop_name'];
				$shop_number=$row['shop_number'];
				$max_service=$row['max_service'];
				$tin_number=$row['tin_number'];
				$owner_name=$row['owner_name'];
				$mobile_number=$row['mobile_number'];
				$other_person_name=$row['other_person_name'];
				$other_mobile=$row['other_mobile'];
				$description=$row['description'];
				
			}	

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Update Profile</title>
<link href="style.css" type="text/css" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="media/css/jquery.dataTables.css">
<link rel="stylesheet" type="text/css" href="resources/syntax/shCore.css">

<style type="text/css" class="init"></style>
<!-- script type="text/javascript" language="javascript" src="http://ymsdemos.net78.net/gmap/jquery-1.11.1.js"></script>-->
<script type="text/javascript" language="javascript" src="js/jquery.js"></script>
<script type="text/javascript" language="javascript" src="js/jquery.dataTables.js"></script>
<script type="text/javascript" language="javascript" src="js/shCore.js"></script>
<script type="text/javascript" language="javascript" src="js/demo.js"></script>
<script type="text/javascript" language="javascript" class="init">
	$(document).ready(function(){$('.tab').dataTable();});
</script>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
        <script src="js/jquery.colorbox-min.js"></script>

        <script>
            $(document).ready(function()
            {
                $(".iframe").colorbox({iframe:true, fastIframe:false, width:"1100px", height:"660px", transition:"fade", scrolling   : true});
            });
        </script>
        <style>
            #cboxOverlay{ background:#666666; }
        </style>
<script src="http://maps.googleapis.com/maps/api/js?sensor=false&amp;libraries=places"></script>
<script src="js/jquery.geocomplete.js"></script>
 <style>
 .mintxt {
  width: 297px;
  margin: 0px 3px;
  border-radius: 4px;
  border: 1px #ccc solid;
  padding: 10px;
  margin-left: 20px;
}
.labeltxt{
	margin-left:200px;
}
.paneltitle{
	width:100%;
	margin-left:430px;
	font-size:20px;
}
</style>
</head>

<body>
	<!-- <div class="main">	<div class="innerheader">
    	<div class="width">
        	<div class="inlogo fl">
            	<img src="images/logo.png" />
            </div>
            <div class="inmenus fr">
            	
            </div>
            <div class="cl"></div>
        </div>
    </div>
    <div class="instantmenus">
    	<?php include('menu.php');?>
    </div> -->
    <div class="container">    	<div class="grandheading">Upload Documents</div> 
	
        <div class="width" style="min-height:500px;">
        	           <center><?php if(isset($_COOKIE['deta']) && $_COOKIE['deta']!='')
								{
									
									echo "<span style='color:green;'>    ". $_COOKIE['deta']."    </span>"; 
									setcookie("deta","",time()-3600,"/","",0); 
								} 
							?> <div id="response"></div></center>
            <div class="panel">
            	<div class="paneltitle">Upload Documents</div>
				<!--<nav id="profiletabs">
	                        <ul class="clearfix">
				<li><a href="#bio" title="My Profile" class="sel"><img width="40" src="images/My-profile.png" /></a></li>
				<li><a href="#profile" title="Edit Profile"><img width="40" src="images/edit_profile.png" /></a></li>
				<li><a href="#friends" title="Change Password"><img width="40" src="images/change_password.png" /></a></li>
	        </ul>
      </nav>-->
                <div class="offerbox">
                	<form class="chargefrm" action="../admin/upload_infopooler.php" method="POST">
                	<table>
                    	 <tr>
                        	<td><div class="labeltxt">Car Modal</div></td>
                            <td><input type="text" class="stxt number mintxt" name="shop_name" id="shop_name" placeholder=" " value=" " />
							
							</td>
                        </tr>
						 <tr>
                        	<td><div class="labeltxt">Car color</div></td>
                            <td><input type="textl" class="stxt number mintxt" name="email" id="email" placeholder=" " value=" " /></td>
                        </tr>
						
                        <tr>
                        	<td><div class="labeltxt">Permnant Address</div></td>
                            <td><textarea class="stxt  mintxt" name="service" id="service"rows="3" cols="10" placeholder="" value=" " ></textarea>  </td>
                        </tr>
                        <tr>
                        	<td><div class="labeltxt">Company</div></td>
                            <td><input type="text" class="stxt number mintxt" name="shop_number" id="shop_number" placeholder="shop_number" value=" " /></td>
                        </tr>
						<tr>
                        	<td><div class="labeltxt">Driving License</div></td>
                            <td><input type="file" class="stxt number mintxt" name="tin_number" id="tin_number" placeholder="TIN Number" value=" " />
                            File shoud be in pdf
                            </td>
                        </tr>
						
                         <tr>
                        	<td><div class="labeltxt">Vehicle Documents</div></td>
                            <td><input type="file" class="stxt  mintxt" name="owner_name" id="owner_name" placeholder="Owner Name" value="<?php echo $owner_name;?>" /> 
                            File should be in pdf
                             </td>
                        </tr>
                       
						<tr>
                        	<td><div class="labeltxt">Upload Photo</div></td>
                            <td><input type="file" class="stxt  mintxt" name="other_person_name" id="other_person_name" placeholder="Second Owner Name" value=" " />
                            	File should be in pdf
                              </td>
                        </tr>
                         
                        	<td></td>
                            <!-- <td><input type="button" class="btn smbtn" name="submit" value="Update Information" id="update_btn" onclick="savecharges()" /></td>-->
                                 <td><input type="submit" class="btn smbtn" name="submit" value="Update Information" id="update_btn" onclick="savecharges()" /></td>
                            
                        </tr> 
                    </table>
                   	</form>
                </div>
                <div class="chargesajax"></div>
                <script type="text/javascript">
					function savecharges()
					{
						$max_service=$("#service").val();
						$shop_number=$("#shop_number").val();
						$tin_number=$("#tin_number").val();
						$owner_name=$("#owner_name").val();
						$email=$("#email").val();
						$other_person_name=$("#other_person_name").val();
						$shop_name=$("#shop_name").val();
						//$description=$("#description").val();
						//$description=$("#description").val();
						$('#response').html("<img src='../img/loaders/load.GIF'><br>loading....");
						
						//window.location =  '../admin/upload_infopooler.php?shop_name='+$shop_name'&email='+$email'&max_service='+$max_service+'&shop_number='+$shop_number+'&tin_number='+$tin_number+'&owner_name='+$owner_name+'&other_person_name='+$other_person_name;	
							alert('hello');			
						 $.post('admin/upload_infopooler.php.php', {max_service: $max_service, shop_number:$shop_number, tin_number:$tin_number, description:$description, owner_name:$owner_name, other_person_name:$other_person_name, mobile_number:$mobile_number,other_mobile:$other_mobile}, function(data){
             
							$('#response').html(data);
			
						
						 }*/
					}
					savecharges();
				</script>
            </div>
            
           
        </div>  
    </div> 
        <div class="footer">
        	
            <div class="cl"></div>
            
            <div class="copyright">Copyright@ rainbowinfotech.in</div>
            
          
        </div>
        
    </div>
	<script type="text/javascript">
$(function(){
  $('#profiletabs ul li a').on('click', function(e){
    e.preventDefault();
    var newcontent = $(this).attr('href');
    
    $('#profiletabs ul li a').removeClass('sel');
    $(this).addClass('sel');
    
    $('#content section').each(function(){
      if(!$(this).hasClass('hidden')) { $(this).addClass('hidden'); }
    });
    
    $(newcontent).removeClass('hidden');
  });
});
</script>
</body>

<!-- Mirrored from ymsdemos.net78.net/gmap/updateoffers.php by HTTrack Website Copier/3.x [XR&CO'2014], Fri, 24 Apr 2015 09:21:33 GMT -->
</html>
<script>
	  $(function(){
		$(".geocomplete").geocomplete({
			map: ".map_canvas",
			details: "form div",
			detailsAttribute: "data-geo",
			/*types: ["(cities)"],*/
			country:'in'
		});
	  });
</script> 

<!-- End Of Analytics Code -->

 <?php
 include('../config/db.php');

    $store_id=$_REQUEST['id'];
    $max_service=$_REQUEST['max_service'];
    $shop_number=$_REQUEST['shop_number'];
    $shop_name=$_REQUEST['shop_name'];
    $tin_number=$_REQUEST['tin_number'];
    $email=$_REQUEST['email'];
    $owner_name=$_REQUEST['owner_name'];
    $other_person_name=$_REQUEST['other_person_name'];
    //$mobile_number=$_REQUEST['mobile_number'];
    //$other_mobile=$_REQUEST['other_mobile'];
    //echo $max_service;
if(isset($_POST['submit']))
{
     if(!empty($_REQUEST['tin_number']) && !empty($_REQUEST['max_service']) && !empty($_REQUEST['shop_number']) && !empty($_REQUEST['owner_name']) && !empty($_REQUEST['other_person_name']) && !empty($_REQUEST['shop_name']) && !empty($_REQUEST['email']))
    {
    $sql="insert into uploaddoc(carmodal,carcolor,addr,company) values('$shop_name','$email','$max_service','$shop_number')";
    $res=mysql_query($sql);
    if($res)
    {
        echo "record added successfully";
    }
    else
    {
        echo "something wrong";
    }

    /**** Upload Files Driving Licence ****/
     define ("FILEREPOSITORY","./");
      if (isset($_FILES['tin_number'])) 
      {
         if (is_uploaded_file($_FILES['tin_number']['tmp_name'])) 
                {
              if ($_FILES['tin_number']['type'] != "application/pdf")
                  {
                        echo "<p>File must be uploaded in PDF format.</p>";
                  } 
                 else
                  {
                     $today ="/pdfdrivelic/";
                     if (! is_dir(FILEREPOSITORY.$today))
                 {
                          mkdir(FILEREPOSITORY.$today);
                 }
                     $name = $_POST['name'];
                     $result = move_uploaded_file($_FILES['tin_number']['tmp_name'], FILEREPOSITORY.$today."/"."$name.pdf");
                if ($result == 1) 
                               echo "<p>File successfully uploaded.</p>";
                        else 
                                   echo "<p>There was a problem uploading the files.</p>";
                     }
                       }
              }
     /**** Upload Files Vehicle Documents ****/
         define ("FILEREPOSITORY","./");
     if (isset($_FILES['owner_name']))
     {
        if (is_uploaded_file($_FILES['owner_name']['tmp_name'])) 
              {
                           if ($_FILES['owner_name']['type'] != "application/pdf")
                 {
                        echo "<p>File must be uploaded in PDF format.</p>";
                 } 
                      else
                 {
                     $today ="/pdfvehicle/";
                     if (! is_dir(FILEREPOSITORY.$today))
                      {
                         mkdir(FILEREPOSITORY.$today);
                      }
                     $name = $_POST['name'];
                     $result = move_uploaded_file($_FILES['owner_name']['tmp_name'], FILEREPOSITORY.$today."/"."$name.pdf");
                    if ($result == 1) 
                            echo "<p>File of vehicle successfully uploaded.</p>";
                        else 
                            echo "<p>There was a problem uploading the files.</p>";
                 }
              }
     }
if($_FILES['image'] != "jpg" && $_FILES['image'] != "png" && $_FILES['image'] != "jpeg" && $_FILES['image'] != "gif" && $_FILES["image"]["size"] > 2097152 ) 
{
    //echo "6";
    $Error="Invalid Image!";
}
else
{
                        $target_dir = "../poolerimage/";
                        $db_dir = "uploads/users/";
                        $date=date("Y-m-d h:i:sa");
                        $datemd=md5($date);
                        $date=substr($datemd,2,-7);
                        //$unique_id=substr($date, 3, -3);
                        $target_file = $target_dir .$date. basename($_FILES["image"]["name"]);
                        //$user_image = $db_dir .$date. basename($_FILES["image"]["name"]);
                        //$pic=addslashes (file_get_contents($_FILES['image']['tmp_name']));
                        $image=move_uploaded_file($_FILES["image"]["tmp_name"], $target_file);
                        if($image==1)
                        {
                            echo "Image Uploaded Successfully.";
                        }
                        else
                        {
                            echo "<p>There was a problem uploading the files.</p>";
                        }
}


                    header('Location: ../dashboard/uploaddoc.php');
    }
    else
    {
        echo "Fill the required fields";
    }               
}                   
?>

请告诉我错误在哪里..

1 个答案:

答案 0 :(得分:6)

文件处理需要有效的enctype,而您的表单/代码不包含它。

enctype="multipart/form-data"代码中添加<form></form>

根据手册:

error reporting添加到文件的顶部,这有助于查找错误。

<?php 
error_reporting(E_ALL);
ini_set('display_errors', 1);

// rest of your code

旁注:只应在暂存时进行显示错误,而不是生产。

  • 同时将or die(mysql_error())添加到所有mysql_query()

<强>诺塔:

在每个标题后添加exit;,否则您的代码可能希望继续执行。

另请注意,您的代码是开放的,因此SQL注入。使用准备好的声明。

mysql_函数已弃用,将在PHP 7.0中删除

脚注:

如评论中所述:

  

“您正在设置$ store_id = $ _ SESSION ['store_id'];但稍后您在查询中使用$ id。 - Gerald Schneider”

我相信您希望在查询中使用$store_id而不是$id

  • 错误报告会向您抛出未定义的变量ID通知。

  • $_REQUEST['tin_number']$_REQUEST['owner_name']。这会给你带来麻烦 仅使用$_FILES代替$_REQUEST

<强> N.B:
我发现了其他的东西,很多$_FILES["image"]。没有与之匹配的输入,因此您的部分问题不清楚,并且会因您在原始问题中发布的内容而失败。

添加了备注。

如果这仍然不适合您,您需要检查错误并使用var_dump(); - print_r();查看正在经历的内容,并开始使用新文件进行上传一个文件。一旦你开始工作,你就可以在你的代码中实现它。

目前尚不清楚内部是什么:

include('../config/db.php');

确保使用查询中使用的相同MySQL API,即mysql_。如果它是mysqli_或PDO,则那些不同的API不会混合; 洞察力。

虽然建议使用mysqli_或PDO,并使用准备好的声明,因为我已经做过注释。如果您计划走这条路线,请记住不要混用不同的MySQL API /函数。