2013-07-07 3 views
0

mysql에서 데이터를 업데이트하고 싶습니다. 그러나 업데이트 (예 : firstname)를 원하면 photo_profile이 손실됩니다.업데이트 이미지가없는 mysql에서 데이터를 업데이트하는 방법 먼저

<?php 
    include 'function_page_user.php'; 

    if(($_FILES['photo_profile']) and ($_POST['firstname']) and ($_POST['lastname']) and ($_POST['password'])) 
    { 
     session_start(); 

     include 'connect.php'; 
     $foldername="assets/img/user/"; 
     $firstname = mysql_real_escape_string($_POST["firstname"]); 
     $lastname = mysql_real_escape_string($_POST["lastname"]); 
     $pwd = mysql_real_escape_string($_POST["password"]); 

     if((!empty($firstname) and !empty($lastname) and !empty($pwd)) and($_FILES['photo_profile'])) 
     { 
      $image = $foldername . basename ($_FILES['photo_profile'] ['name']); 
      mysql_query ("update user set firstname = '".$firstname."' , lastname = '".$lastname."' , password = '".$pwd."' , photo_profile='".$image."' where id_user ='".$_SESSION['id']."'"); 
      move_uploaded_file($_FILES['photo_profile']['tmp_name'], $image); 
      echo "<script>alert ('File Succes To edit');</script>"; 
      $page="formubahuser.php"; 

      echo redirectPage($page); 
     } 
     else echo "variabel empty"; 
    } 
    else 
     echo ("your data is not complete<a href=formubahuser.php>Fill it again</a>"); 
?> 
+0

혼란스러운 일련의 편집에 사과드립니다. 내 무릎에 유아가있는 편집 내용을 검토하려고했습니다. – joran

답변

0

코드에 몇 가지 큰 문제가 있습니다. 계속하기 전에 다음 항목을 읽어야합니다.

1) php mysql_ 함수는 더 이상 사용되지 않습니다. 즉, PHP의 향후 버전에서는 함수가 제거 될 것입니다. 당신은 당신의 데이터베이스에 암호를 저장하면 pdo 또는 mysqli 대신

2), 그들은 항상, 항상, 항상 encrypted해야 사용해야합니다.

질문에 관해서는 사진 URL을 설정하지 않고 메타 데이터 (예 : 성)를 변경하는 방법을 묻는 것 같습니다. 다음과 같이 시도하십시오.

$updatequery = "UPDATE user SET firstname = '".$firstname."' , lastname = '".$lastname."' , password = '".$pwd."'"; 
if($_FILES['photo_profile']) 
{ 
    $image = $foldername . basename ($_FILES['photo_profile'] ['name']); 
    $updatequery .= ", photo_profile='".$image."'"; 
} 
$updatequery .= " where id_user ='".$_SESSION['id']."'"; 
관련 문제