2016-05-26 5 views
0

Ich benutze Bootstrap-Datei-Upload. Ich habe ein Formularfeld namens Foto-Upload. Ich habe den Dateiwert bereits in die Datenbank eingefügt und in einen Ordner verschoben. Jetzt möchte ich dieses Foto bearbeiten. Benutzer bearbeiten den Nachnamen und ändern Foto bedeutet, dass es Zeit wird es gut funktionieren, aber Benutzer ändern nur den letzten Namen, wenn es nicht richtig funktioniert, weil Dateiname Wert ist Null, ich versuche diese Methode, Wie kann ich das tun?Nicht Bootstrap-Datei Wert mit 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']."'"); 
      ?> 

Antwort

0

Warum Sie nicht über einen Zustand über sie schreiben wie wenn user photo geändert, dann werden Sie seinen Namen zu bekommen, aber wenn der Benutzer nicht der Fall ist, die Sie erhalten, dass Feld leer.

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

Dank @ Maha Dev –