{{ thread.title }}

{{ locked_reason }} پی اچ پی

@behzad {{ experience | farsi }} تجربه آخرین فعالیت ٢ ماه پیش

سلام و عرض ادب. امیدوارم که حالتون خوب باشه. در بخش اکانت کاربر زمانی که میخواد اطلاعاتش رو ویرایش کنه و همچنین تصویر برای پروفایلش آپلود کنه ، میخوام نام کاربری رو که خواست تغییر بده اگر تکراری بود پیغام ارور رو بهش بدم ولی در مقابل اگه نخواست تغیر بده همون نام کاربری باقی بمونه و پیغام ویرایش اطلاعات با موفقیت بود(مثلا) بده. این کد اکشن که به این صورت:

if(isset($_POST['edit-prof'])){
  $name1 = $_POST['name1'];
  $username = $_POST['username'];
  $name3 = $_POST['name3'];
  $name4 = $_POST['name4'];
  if(!empty($_FILES['user-img']['name'])){
    $user_img = $_FILES['user-img']['name'];
    $user_img_tmp = $_FILES['user-img']['tmp_name'];
    $edit_info_user =  edit_prof($name1, $username, $name3, $name4, $user_img, $user_img_tmp);
  }else{
    $user_img = $_POST['user-img-old'];
      $edit_info_user =  edit_prof($name1, $username, $name3, $name4, $user_img);
  }
  if(mysqli_num_rows(repeat_username($username)) > 0){
   $err = 'نام کاربری تکراری است';
   }else{
     if($edit_info_user){
       $msg = 'اطلاعات شما بروزرسانی شد';
     }else{
       $err = 'متاسفم ، اطلاعات بروزرسانی نشد';
     }
   }
}

و این هم کد فانکشن به این صورت:

function edit_prof($name1, $username, $name3, $name4, $user_img, $user_img_tmp = null){
  global $con;
  if(!isset($user_img_tmp)){
    $query = mysqli_query($con, "UPDATE table SET name1='$name1', username='$username', name3='$name3', user_img='$user_img' WHERE name4='$name4'");
  }else{
    move_uploaded_file($user_img_tmp, '../../img/' . $user_img);
    $query = mysqli_query($con, "UPDATE table SET name1='$name1', username='$username', name3='$name3', user_img='$user_img' WHERE name4='$name4'");
  }
  if($query){
    return true;
  }else{
    return false;
  }
}

function repeat_username($username){
  global $con;
  $query = mysqli_query($con, "SELECT * FROM table WHERE username='$username'");
  return $query;
}

این قضیه رو تو ثبت نام درست کردم ولی الان برای ویرایش اطلاعاتش چطور این قضیه رو تو اکشن مهار کنم؟