За последние 24 часа нас посетили 22878 программистов и 1265 роботов. Сейчас ищут 790 программистов ...

Замена блока при вхое на сайт

Тема в разделе "JavaScript и AJAX", создана пользователем Виктор К., 14 апр 2017.

Метки:
  1. Виктор К.

    Виктор К. Новичок

    С нами с:
    1 апр 2016
    Сообщения:
    139
    Симпатии:
    6
    Адрес:
    Украина
    Здравствуйте. Никак не могу решить задачу - а именно такую:
    После входа на сайт через Ajax форму появляется переменная $_SESSION['id']. Нужно, чтобы когда это произошло, блок с классом "login" заменился на блок с классом "avatar". Вопрос в том, как дать jquery знать о существовании переменной?
     
  2. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    PHP:
    1. if(!empty($_SESSION['id'])){
    2.     //выводим аватар
    3. }else{
    4.     //выводим форму авторизации.
    5. }
     
  3. Виктор К.

    Виктор К. Новичок

    С нами с:
    1 апр 2016
    Сообщения:
    139
    Симпатии:
    6
    Адрес:
    Украина
    Такой серверный код выполняется только при обновлении страницы. В моей же ситуации это не происходит. Обрабатывать эго через какие то промежутки времени - тоже не вариант.
     
  4. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    В твоем случае тоже происходит. Просто ты на стороне клиента обновляешь только какое-то поле видать.

    Тогда, при запросе ajax при получении ответа, что авторизация успешно, на стороне клиента меняй этот элемент. Т.е. вместо формы выводи аватар. Тут уже одним js можешь обойтись. Только в ответ тебе надо получить данные о пользователе.
     
    Виктор К. нравится это.
  5. Виктор К.

    Виктор К. Новичок

    С нами с:
    1 апр 2016
    Сообщения:
    139
    Симпатии:
    6
    Адрес:
    Украина
    А существует ли возможность обновления контента только в определенном блоке? C получением нового ответа от сервера? Не jQuery-Ajax запроса, а чистый refresh?
     
  6. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
  7. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
  8. Виктор К.

    Виктор К. Новичок

    С нами с:
    1 апр 2016
    Сообщения:
    139
    Симпатии:
    6
    Адрес:
    Украина
  9. mahmuzar

    mahmuzar Старожил

    С нами с:
    6 апр 2012
    Сообщения:
    4.632
    Симпатии:
    425
    Адрес:
    РД, г. Махачкала.
    @Виктор К., как у тебя "общаются" между собой сервер клиент?
    1. пользователь заполняет форму и шлет.
    2. на сервере данные проверяются, если такой пользователь есть шлешь пользовательские данные в json например, тоже json только объект с ошибкой.
     
    Виктор К. и TeslaFeo нравится это.
  10. TeslaFeo

    TeslaFeo Старожил

    С нами с:
    9 мар 2016
    Сообщения:
    2.989
    Симпатии:
    759
    ajax тебе возвращает результат. Вот и проверяй что он вернул.
    Например возвращай строку false в случае ошибки, затем проверяй, равна ли строка false, и если нет, то размещай результат на странице.
     
    Виктор К. нравится это.