2016-05-26 4 views
0

私はブートストラップファイルのアップロードを使用しています。写真アップロードと呼ばれる1つのフォームフィールドがあります。私はすでにデータベースにファイルの値を挿入し、それをフォルダに移動しました。今私はこの写真を編集したいと思います。ユーザーが姓を編集して写真を変更すると、正常に動作することを意味しますが、ファイル名の値がnullになっているため、ユーザーは姓を変更するだけで、このメソッドを試しています。ユーザーが写真を変更した場合、あなたはその名を取得するようにあなたがそれ以上の条件を記述していませんが、ユーザーがいない場合、あなたはそれを取得しますなぜPHPを使用してブートストラップファイルの値を取得しない

<?php 
$sql = mysql_query("SELECT * FROM task_employee WHERE emp_email='".$_SESSION['email']."'"); 
while($edit = mysql_fetch_assoc($sql)) 
{ 
?> 
<form class="form-horizontal" novalidate="novalidate" method="POST" id="newUserForm"> 
<div class="tab-content" style="margin:15px"> 
    <div id="w2-account" class="tab-pane active"> 


     <div class="form-group"> 
      <label class="col-md-3 control-label">Last Name</label> 
      <div class="col-sm-6"> 
       <input type="text" class="form-control" id="lname" name="lname" value="<?php echo $edit['emp_lastname'];?>" placeholder="Enter your Lastname"> 

      </div> 
     </div> 



     <div class="form-group"> 
      <label class="col-md-3 control-label">Photo Upload</label> 
      <div class="col-md-6"> 
       <div class="fileupload fileupload-new" data-provides="fileupload"> 
        <div class="input-append"> 
         <div class="uneditable-input"> 
          <span class="fileupload-preview"><?php echo $edit['emp_main_photo'];?></span> 
         </div> 
         <span class="btn btn-default btn-file"> 
          <span class="fileupload-exists">Change</span> 
          <span class="fileupload-new">Select file</span> 
          <input type="file" id="file" name="file" value="<?php echo $edit['emp_main_photo'];?>"> 
         </span><!--d42c4f0d9fcc1b1bff87fe8ba80b1605.jpg--> 
        </div> 
       </div> 
      </div> 
     </div> 

     <div class="form-group"> 
      <input type="submit" name="user-submit" id="user-submit"> 
     </div> 

    </form> 
<?php } ?> 


       <script type="text/javascript"> 
       $(document).ready(function(){ 
       $('#user-submit').click(function(event){ 
       event.preventDefault(); 
       if($('#newUserForm').valid()){ 
       var formData = new FormData(); 
        var formData = new FormData($('#newUserForm')[0]); 
        formData.append('file', $('input[type=file]')[0].files[0]); 
        $.ajax({ 
        url: 'php/profile_update.php', 
        type: 'POST', 
        data: formData, 
        dataType: 'json', 
        async: false, 
        cache: false, 
        contentType: false, 
        processData: false, 
        success: function (data) { 
         console.log(data);// here i am getting null value for $filename 

        }, 
       }); 
       } 
       }); 
       }); 
      </script> 

profile_update.php

  <?php 
      $lstname=$_POST['lname'];//i am getting value here 
      $filename = basename($_FILES['file']['name']);// i am not getting value here 
      $extension = pathinfo($filename, PATHINFO_EXTENSION); 
      $new_name= md5($filename.time()).'.'.$extension; 
      $update = mysql_query("UPDATE task_employee SET emp_lastname='$lstname',emp_main_photo = '$new_name' WHERE emp_id='".$_SESSION['emp_id']."'"); 
      ?> 

答えて

0

フィールドは空です。

if(isset($_FILES['file']) && !empty($_FILES['file']['name'])){ 
    $filename = basename($_FILES['file']['name']);// i am not getting value here 
    $extension = pathinfo($filename, PATHINFO_EXTENSION); 
    $new_name= md5($filename.time()).'.'.$extension; 
    $update = mysql_query("UPDATE task_employee SET emp_lastname='$lstname',emp_main_photo = '$new_name' WHERE emp_id='".$_SESSION['emp_id']."'"); 
    }else{ 
    $update = mysql_query("UPDATE task_employee SET emp_lastname='$lstname' WHERE emp_id='".$_SESSION['emp_id']."'"); 
    } 
+0

Thanks @ Maha Dev –

関連する問題