• При подгруздке AJAX-ом контент показывается на секунду и исчезает, как решить проблему?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    по AJAX запросу апендит некий контент с "photo.html".
    , ниже в коде:url: photo2.html",, что говорит о феноменальной внимательности ).
    далее(вернее ранее)<a class="link" href="">Work</a> как по вашему будет работать? )) Для тех кто не догадался - грузит контент по евенту, однако долг зовет его перейти по заданнй ссылке, а так как ссылка пустая, по стандарту считает что это линк на текущую страницу, весело топает по указанному адресу.
    Ответ написан
    Комментировать
  • Как не переносить текст на новую строку после изображения?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    flex? float? bootstrap col-? не, не слышал...
    Ответ написан
    2 комментария
  • Как скрывать блок после удаления без перезагрузки страницы?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) $("#"+idBlock).hide();
    2)
    var idBlock = $(this).data('id_block'); alert(idBlock);
    и
    success: function(){ alert(idBlock); //пробую скрыть блок

    и тогда уже что-то пробовать, а в иделе еще и посмотреть на хтмл и проверить есть ли блок с таким id.
    Ответ написан
  • Как лучше сохранить фильтрацию/сортировку на странице после сохранения/апдейта?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Да я тоже думал, как-то на фронтенде, но тут не современный продукт) рендеринг всего и вся через сервер каждый раз

    vism, куки, и ничего не мешает при запросе из куки достать переменную, которую вы бы тянули из базы/сессии. Кроме того - сессия привязывает эти настройки к текущему подключению, куки же будут доступны и после релогина. В базе такое хранить - это редкое гонево, это настройки отображения, и я могу их менять в зависимости от устройства с которого захожу на сервер, это гораздо удобнее. с мобилы удобен один вид, с десктопа другой, в большинстве случаев.
    Ответ написан
    Комментировать
  • Чем вы пользуетесь для форм обратной связи если НЕТ CMS и PHP?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    не понятно, так нет пхп или
    Возможный вариант - условно бесплатная CRM
    это на чужом хосте??? То есть майл не безопасно, а юзать внешнюю орм - это пипец как безопасно.
    Если есть пхп - ну так принимайте форму, храните деньги в сберегательной кассе присланные отзывы в базе, или в файлах, показывайте по запросу. Уточните что надо и зачем - может поможет кто.
    PS: Если нельзя юзать мэйл - берите phpmailer - он с авторизацией smtp и прочими плюшками, это более секъюрно.
    Ответ написан
    1 комментарий
  • Как реализовать по клику открытие почтовика с учетом оставленной почты?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $server = explode ('@',$mail);
    $server = end($server);
    echo "<a href='$server' target='_blank'>go to hell!</a>";
    Ответ написан
    Комментировать
  • Как научиться учить программирование?

    ThunderCat
    @ThunderCat
    {PHP, MySql, HTML, JS, CSS} developer
    Бывало проснешься как птица -
    Крылатой пружиной на взводе,
    И хочется жить и трудиться....
    Но к завтраку это проходит.
    (с) Губерман

    Просто догнала усталость от однотипности, отдых сменой сферы деятельности сильно помогает, потом просто прет как хочется снова сесть за проект. Вопрос только в промежутке времени необходимом на отходняк, тут сроки варьируются от пары часов до пары месяцев. Зависит от фазы луны и погоды на марсе.
    Ответ написан
    Комментировать
  • Правильно ли хранить данные JSON в MySql, в место создания кучи таблиц?

    ThunderCat
    @ThunderCat Куратор тега MySQL
    {PHP, MySql, HTML, JS, CSS} developer
    Читать нормальные формы для РБД. Связи. Коротко - таблицы должно содержать отдельные значимые единицы информации в отдельных полях, если эти информационные блоки относятся к разным сущностям - это должны быть разные таблицы. Связи между сущностями соотносятся через ключи-идентификаторы. Дублирование информации в таблицах в идеале отсутствует, то есть если в таблице А есть значение а, которое может быть связано с таблицей Б, в Б это значение не записывается, а создается связь через ключ с таблицей А, или, если таких связей может быть много - создается отдельная таблица связей(один ко многим или многие ко многим).
    Ответ написан
    Комментировать
  • Нужен визуальный редактор для админки сайта с загрузкой картинок на свой сервер. Кто каким пользуется?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    tinyMCE, CKeditor, оба требуют отдельного файл менеджера, но умеют его использовать через плагин. KCfinder для CKeditor вроде бесплатный, есть какой-то за деньги, более навороченный. Можно и вот такой использовать, весьма удобный.
    Ответ написан
    Комментировать
  • Как используя js/jq загрузить в input file файлы не за 1 раз, а за несколько?

    ThunderCat
    @ThunderCat Автор вопроса, куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    Итак, вариант решения который в итоге подошел по таким параметрам:
    1) Файлы можно загружать в несколько этапов, то есть добавил, удалил, еще добавил и тд.
    2) Превью файлов хранится в браузере, никакой загрузки до субмита основной формы на сервер не происходит, дабы предотвратить мертвые загрузки - когда люди закрывают форму недозаполнив, но подгрузив файлы.
    3) Файлы грузятся на сервер по субмиту формы с кучей полей и линкуются с объектом.

    Реализация:
    1) так как все писать руками было лень было дернуто с гитхаба половинчатое решение, и "после сборки обработано напильником" (кому интересно - пишите - положу куда-то или форкну ветку). Что умеет сие творение "из коробки": подгружать файлики картинок и делать превью с кнопкой удаления. Все файлы пишутся в отдельный массив, который в конце по нажатию кнопки(опционально сразу при подгрузке с винта) аяксом отправляет на сервер файлы, генерировать кастомный евент по завершении загрузки. Что-то еще, но прочие фишки не понадобились.
    2) В результате обточки было добавлено несколько свойств - максимальное количество файлов, максимальный размер файла, максимальный размер всего набора и токен. Теперь оно умеет ругаться на превышения лимитов и отправлять не только файлы, добавленные в массив, но и ключ-токен.
    3) На основную форму был повешен листенер онсубмит, который проверял переменную filesSended, по умолчанию установленную в false, и при фалс делал превентдефаулт форме, аяксом слал файлы и токен на серв, по завершении загрузки срабатывал листенер на евент загрузки, который выставлял filesSended в тру, и снова субмитил основную форму, уже без превентдефаулт. Все выглядит как простая отправка формы с перезагрузкой.
    4) На сервере файлы принимаются, в базу пишем пути и токен, после чего срабатывает обработчик формы и на сервер приходят остальные данные и дубль токена из хидден инпута. Из них строится объект, айдишник и токен передается в объект картинки, методу ->relinkImages($id,$token); Метод тащит все картинки с заданным токеном, меняет поле связи на нужный айди, обнуляет токен и сохраняет запись. Все!
    5) В качестве паранойи в сессию пишутся все токены выданные пользователю и при загрузке картинок и данных наличие пришедшего постом токена проверяется в сессии.

    Отдельное спасибо Stalker_RED и Сергей delphinpro за умные мысли, советы и отличное знание темы, сам в жс "плаваю".

    сори что поздно, форк аплоадера, если кому надо, пилить придется под себя.
    Ответ написан
  • Как через форму загрузить изображение, налету закодированное в Base64?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    смотрите в сторону файлового апи в жс - FileReader(), вам подойдет readAsDataURL(). Как вариант на инпут файл вешается ончейндж, и из файллиста все пихается в валуе какого-то хидден инпута. Все, на стороне сервера готовый бэйз64 стринг.
    Ответ написан
  • Чем отличается ajax-запрос post от get?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    смотрите логи, 500 ошибка обычно выводится когда вывод ошибок перенаправлен в лог и возник фатал ерор. Или задайте для выполнения скрипта ерор репортинг е_алл, и дисплэй еррорс 1.
    Ответ написан
    Комментировать
  • Должен ли контроллер знать о существовании других моделей?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    После получения массива объектов пост
    а на самом деле почему-то массив массивов. Что мешало, раз пошла такая пьянка, получить таки объекты, и в них уже положить массив объектов комментов?
    Есть такая штука - коллекция, например вот так примерно работает:
    $posts = new Collection(new Post()); // передаем пустой объект нужного типа
    $posts->createCollectionByOwner($ownerId); // инициализируем - грузим коллекцию по параметру
    $posts->appendComments(); // грузим комменты
    $posts->appendImages(); // подгружаем картинки
    $this->view->posts = $posts; //отдаем коллекцию в вид
    echo $this->view->renderView(); // рендерим

    и все, внутри все пишется 1 раз, работает для любого типа объекта.
    Ответ написан
  • Как закрыть pop up автоматически через n секунд?

    ThunderCat
    @ThunderCat Куратор тега CSS
    {PHP, MySql, HTML, JS, CSS} developer
    $("#success-message").hidefadeOut(2000);
    Ответ написан
  • Как быстро проверить сериализованные данные?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    if(unserialize($string)===false) echo 'облом';
    правда будет еще нотис сформирован, но тут уж се ля ви.
    UPD: косяк может произойти при передаче false, вернется false, хотя это верное значение сериализации.
    Ответ написан
    Комментировать
  • Как спрятать все элементы с определённым классом?

    ThunderCat
    @ThunderCat Куратор тега JavaScript
    {PHP, MySql, HTML, JS, CSS} developer
    1) Hidde???
    2) зачем такие мучения? дайте кнопке id="hideButton", уберите инлайн onclick="a()" - это плохой стиль, подключите JQ и:
    $('#hideButton').on('click', function(){
        $('.name').hide();
    })
    Ответ написан
    2 комментария
  • AJAX не работает. В чем причина?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    -1) кто такой input type="login"???? text знаю, password знаю, login шо за зверь?
    0) проверить, подключен ли JQ
    1) биндить евент по загрузке, и правильнее использовать on, то есть:
    $(document).ready(function () {
        $('#login_r').on('keyup', function(){
            console.log('пошел процесс!');
            ...
            console.log(msg);
        })
    }

    2) Использовать console.log(), сначала в самом начале функции обработчика жс, чтобы убедиться что бинд вообще работает, далее, если все работает, выводить ключевые переменные на точках ветвления/изменения параметров. В конце вывести что пришло аяксом.
    3) как и советовали, для начала и для отладки, уберите все и оставьте только вывод.
    4) mysql_* функции являются устаревшими, используйте PDO(рекомендуется) или mysqli_*.

    UPD:
    Теперь выводит alert('error');. То есть пропускает весь цикл до последнего else.

    Для начала замените алерт на вывод в консоль, далее - выводите не бесполезный error, а данные которые пришли, нахрена вам этот еггор? По уму, оперировать надо цифрой а не буквой, то есть отдавать 0 или 1.
    Ответ написан
  • Как реализовать выборку частями?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    limit $offset, 10000
    Ответ написан
    Комментировать
  • Корректный адрес до изображения?

    ThunderCat
    @ThunderCat Куратор тега HTML
    {PHP, MySql, HTML, JS, CSS} developer
    для верного отображения контента используйте путь от корня сайта, если не прописаны особые директивы, корень сайта в пути обозначается косой правой чертой "/",
    соответственно путь '/img/some.jpg' = 'www.domen.tld/img/some.jpg'
    Ответ написан
    Комментировать