За последние 24 часа нас посетили 18649 программистов и 1705 роботов. Сейчас ищут 693 программиста ...

Присвоение по логину из бд

Тема в разделе "PHP для новичков", создана пользователем Колбася, 16 апр 2012.

  1. Колбася

    Колбася Активный пользователь

    С нами с:
    12 дек 2011
    Сообщения:
    722
    Симпатии:
    0
    делаю загрузку фото ...вот нужно переписать чтобы под айди из бд фотография приписывалась юзеру

    запрос такой -> $user = mysql_fetch_array(mysql_query("SELECT * FROM `users` WHERE `id` = '{$_SESSION['uid']}' LIMIT 1;"));

    Нужно что-то дописать ниже чтобы по логину заливалась фотка и в бдшку отписывала путь к айди зера и логину...вот форма где нужно переписать ->ниже:


    Код (Text):
    1. <?php
    2.  
    3. include ("connect.php");
    4.  
    5.  
    6. $_SESSION['login'] ="никнеймюзера";
    7.  
    8. $login = $_SESSION['login'];
    9.  
    10. if ($_POST['submit'])
    11.  
    12. {
    13.  
    14. //атрибуты файла
    15. $name = $_FILES['myfile']['name'];
    16. $tmp_name = $_FILES['myfile']['tmp_name'];
    17.  
    18.  
    19.  
    20.  $imageinfo = getimagesize($_FILES['myfile']['tmp_name']);
    21.  
    22.  if($imageinfo['mime'] != 'image/gif' && $imageinfo['mime'] != 'image/jpeg' && $imageinfo['mime'] != 'image/png') {
    23.  
    24.  die("<body style='font-family:Tahoma;font-size:12px' bgcolor=#E6E6FA>Пожалуйста выберите другой фаил! <a href='upload.php'>Вернуться</a></body>");
    25.  
    26.  } else
    27.  
    28.  if($_FILES['myfile']['size']>50000)
    29.  
    30.  {
    31.  
    32.   die("<body style='font-family:Tahoma;font-size:12px' bgcolor=#E6E6FA>Размер фото слишком велик! <a href='upload.php'>Вернуться</a></body>");
    33.  
    34.  }
    35.  
    36. if($name)
    37. {
    38.  
    39. //начало загрузки
    40. $location = "i/avatars/$name";
    41. move_uploaded_file($tmp_name,$location);
    42.  
    43. $query = mysql_query("UPDATE users SET imagelocation='$location' WHERE login='$login'");
    44.  
    45. die("<body style='font-family:Tahoma;font-size:12px' bgcolor=#E6E6FA>Ваш фаил был загружен! <a href='view.php'>Посмотреть что вы загрузили</a></body>");
    46.  
    47. }
    48. else
    49. die("Пожалуйста выберите фаил! <a href='view.php'>Home</a>");
    50.  
    51.  
    52. die();
    53.  
    54.  
    55. }
    56.  
    57.  
    58. echo "Здравствуй, ".$login."!<p>";
    59.  
    60. echo "<body style='font-family:Tahoma;font-size:12px' bgcolor=#E6E6FA>Загрузите своё фото <small>(желательно размером 200 x 200 и весом не более 50кб)</small>:
    61.  
    62. <form action='upload.php' method='POST' enctype='multipart/form-data'>
    63.  
    64. Фаил: <input type='file' name='myfile'><input type='submit' name='submit' value='Загрузить'><br>
    65. <a href='myprofile.php?edit=1'>Вернуться в профиль</a>
    66.  
    67. </form>
    68. </body>
    69. ";
    70.  
    71. ?>
     
  2. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    чувак. пришло время освоить тег
    Код (Text):
    1. [code]
     
  3. viphost

    viphost Активный пользователь

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    так а в чем проблема?
    Если нужно в таблицу юзера внести загруженную им фотку, то просто делаешь так

    Код (Text):
    1.  
    2. Картинку после загрузки загони в переменную $avatar например
    3. $user = mysql_fetch_array(mysql_query("UPDATE users SET avatar = '{$avatar}' WHERE id = {$id}"));
    или тебе не то нужно?
     
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    и получаешь две инъекции =)
    но мысль верная
     
  5. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
  6. Колбася

    Колбася Активный пользователь

    С нами с:
    12 дек 2011
    Сообщения:
    722
    Симпатии:
    0
    Ребята я вот так написал начало -
    Код (Text):
    1. <?php
    2. session_start();
    3. include "connect.php";
    4.  
    5. $user = mysql_fetch_array(mysql_query("SELECT `login` FROM `users` WHERE `id` = '{$_SESSION['uid']}' LIMIT 1;"));
    6.  
    7. $_SESSION['login'] == "$user";
    8.  
    9. $login = $_SESSION['login'];
    10.  
    11. if ($_POST['submit'])
    12.  
    13. {
    Но когда жму загрузку выдает вот такую ошибочку ...

    Здравствуй, Array!
    Причем тут аррей я ведь выбиваю логин из база почему он вписывается вместо логина?

    Добавлено спустя 1 минуту 6 секунд:
    Привет :} Куда это вставить? :} пробовал заменить с mysql_fetch_array на mysql_fetch_assoc не проканало :} быТлокодерЬ йа

    Добавлено спустя 3 минуты 52 секунды:
    какашко неработает я расстроен =_=

    Добавлено спустя 21 минуту 27 секунд:
    Все карасики запилил :} все робит :} вот так надо было -

    Код (Text):
    1. $user = mysql_fetch_array(mysql_query("SELECT `login` FROM `users` WHERE `id` = '{$_SESSION['uid']}' LIMIT 1;"));
    2.  
    3. $_SESSION['login'] = $user['login'];
    4.  
    5. $login = $_SESSION['login'];
    Добавлено спустя 3 минуты 50 секунд:
    Щаз буду пилить чтоб фотка ужималась и чтобы папка создавалась с юзернеймом и через этот мд5 присваивалась название для фотки ну и тд:}
     
  7. viphost

    viphost Активный пользователь

    С нами с:
    23 мар 2009
    Сообщения:
    307
    Симпатии:
    0
    я обычно перед запросом проверяю передачу, у меня что то функции написано, правда если честно даже не уверен, со всем ли она справляется.
    ТС, а зачем лимит в запросе? Ведь в нем явно указано, что дергать нужно лишь одну запись по айди юзера.
    А на счет фоток и мд5, на мой взляд лучше к названии фотки приписывать время
    Код (Text):
    1. time();
    будет более правильно и более привычно
    Код (Text):
    1. 13445566_avatar.jpg
     
  8. Колбася

    Колбася Активный пользователь

    С нами с:
    12 дек 2011
    Сообщения:
    722
    Симпатии:
    0
    О кстати да! Спс за идейку :} Щас с мдшкой смотрю что такое:))
     
  9. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    А по мне правильно фото именовать по логину они ж уникальны обычно делаются, ну это если уник, а так можно транслит того, что закинул человек
     
  10. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    прогресс налицо

    $login = $_SESSION['login'];
    лишняя переменная
     
  11. Колбася

    Колбася Активный пользователь

    С нами с:
    12 дек 2011
    Сообщения:
    722
    Симпатии:
    0
  12. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Да там все лишнее ;)
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    ты как-то последнее время невпопад отвечать начал. Ну не правда, что там всё лишнее. Нельзя так говорить людям, которые учатся.
     
  14. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Да ладно я же шучу, учатся, да уже навалом для обучения!
    Вот этого точно валом, море! Что как, зачем и почему так и так.

    Не согласен ?!
     
  15. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    они не знают чему верить
     
  16. artem-Kuzmin

    artem-Kuzmin Активный пользователь

    С нами с:
    16 фев 2012
    Сообщения:
    809
    Симпатии:
    0
    Если бы этим летом когда я ток начал изучать html,css а потом и рогерство..
    Видел бы такие советы подумал бы что прогить совсем нельзя лучше идти в официанты))
     
  17. Your

    Your Старожил

    С нами с:
    2 июл 2011
    Сообщения:
    4.074
    Симпатии:
    7
    Ясно, ладно, больше к такому прибегать не буду)