• Отдать файл из PHP?

    Делайте запрос ajax-сом. Если все нормально, то возвращайте ссылку на созданный zip-архив и делайте переход на неё или создавайте тег a и эмулируйте клик по ней:
    var link = document.createElement("a");
    link.href = "test";
    link.download = "test.zip";
    var event = document.createEvent("MouseEvents");
    event.initMouseEvent("click", true, false, self, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
    link.dispatchEvent(event);

    Ну а если есть ошибки, то тут вы можете обработать как вашей душе угодно.
    Ответ написан
    Комментировать
  • Как обработать .click?

    для таких целей создается отдельный CSS класс, в котором все изменения внесены
    .clicked {
        background-color: red;
    }

    $('.myclass').on('click', function () {
        $(this).toggleClass('clicked');
    });
    Ответ написан
    3 комментария
  • Как реализовать связь многие-ко-многим для одной и той же таблицы?

    index0h
    @index0h
    PHP, Golang. https://github.com/index0h
    category: [id, name]
    categoryHasCategory: [parentId, childId]

    Только будьте осторожны, такая схема вандало-не-устойчивая и может содержать рекурсивные ссылки.

    Для деревьев все же лучше ONE-TO-MANY

    category: [id, parentId, name]
    Ответ написан
    Комментировать
  • Почему не загружает json?

    k12th
    @k12th
    console.log(`You're pulling my leg, right?`);
    Нельзя делать AJAX-запросы к урлам, начинающимся с file://. Безопасность блаблабла security блаблабла same-origin policy, etc, etc, etc. Решение: поднимите локально какой-нибудь веб-сервер.
    Ответ написан
    4 комментария
  • Проверка наличия слова в Input и переход на другую страницу?

    @IceJOKER
    Web/Android developer
    if(element.value) location.href = "next page";
    else alert('Error');
    Ответ написан
    Комментировать
  • PREG match и пробелы: как запретить?

    abler98
    @abler98
    Software Engineer
    Вы не указали начало и конец строки
    $login_check = preg_match('#^[A-Za-zА-Яа-яЁё_-]{3,}$#', $login);
    Ответ написан
    2 комментария
  • Как очистить ссылку?

    alexey-m-ukolov
    @alexey-m-ukolov Куратор тега PHP
    Ответ написан
    Комментировать
  • Как редактировать строки в файле PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    include / var_export() + file_put_contents()
    Ответ написан
    Комментировать
  • Какие нужны библиотеки для реализации цели?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    короткий путь для реализации цели?

    www.freelansim.ru
    Ответ написан
    Комментировать
  • Какие команды вы используете чаще всего в терминале linux`a (или OS X)?

    RicoX
    @RicoX
    Ушел на http://ru.stackoverflow.com/
    vi, ncdu, awk, sed, grep, find, netstat, ifconfig, top, ps, ls, cat, echo, cp, scp, ssh, telnet, rm, man
    Ответ написан
    Комментировать
  • Как решить проблему с конкуренцией запросов на чтение в PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Для начала, вопрос получает приз за самый нерелевантный заголовок. Конечно же, дело в скорости работы условных операторов в РНР.

    А тебе нужна блокировка на чтение
    START TRANSACTION;
    SELECT views FROM page where id=1 FOR UPDATE;

    Заблокирует тебе строку на чтение и запись. Дальше можешь ее апдейтить и коммитить. После этого следующий, кто успеет схватить блокировку, заставить остальных ждать. И так далее.

    Господь, жги.
    Эту толпу обезьян уже не спасти.
    Ответ написан
  • Какая разница между @include и include?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    1. Собака не имеет никакого отношения к include. Это не один оператор, а два совершенно разных оператора.
    2. Увидев @ в коде ты можешь почти со стопроцентной уверенностью сказать, что его писал неграмотный пользователь, и пользоваться этим кодом не стоит.
    3. Увидев в коде @include ты можешь смело считать его автора абсолютным лохом и нубом, а сам код надо выкидывать немедленно. Потому что @include глушит не только саму ошибку включения файла, но и все ошибки в этом файле - то есть, поступает стократ хуже. Это значит, что если автор допускает такие косяки в коде, то и все остальное у него тоже ад кромешный.
    4. Самое главное. Ошибки надо не подавлять. Ошибки надо исправлять. Но опять же, делать это с умом. Начинающие программисты считают сообщения об ошибках своими личными врагами, и борются с ними всеми доступными средствами - с помощью @, error_reporting(0) и др. Получив линейкой по рукам и запомнив на всю жизнь, что так делать не надо, ониначинают с не меньшим рвением писать всякие проверки - лишь бы не допустить, не дай бог, ненавистного сообщения об ошибке. Например:

    if (file_exists($inc))
    {
        include $inc;
    } else {
        echo "Файл не найден";
    }

    Так вот, это - еще хуже. Для начала, часть ошибок этот код все равно не отловит. Но это даже не самое главное. Главное - что вот это вот "Файл не найден" не имеет ни малейшего смысла. Пользователю оно ничего не скажет. А программист о нем не узнает. А если и узнает, то ничего не поймет! Какой файл? Где не найден? По какой причине? Системное сообщение об ошибке содержит массу бесценной информации помогающей идентифицировать ошибку, сообщая нам где она произошла, какой файл не найден, по какой причине не найден. Выдавать вместо этого огрызок "файл не найден" - это мазохизм.

    И вот тут мы должны произвести натуральную революцию в неокрепшем детском мозгу: сообщение об ошибке не твой враг, а твой друг! И надо добиваться его появления всеми возможными способами! В том числе и выпиливанием бессмысленных проверок. Проверку можно ставить только если у нас есть сценарий обработки ошибки: к примеру, вместо этого файла мы можем заинклюдить какой-то другой, дефолтный. Тогда да - проверка имеет смысл. Но если это самый обычный инклюд, который всегда должен быть на своем месте, то его отсутствие обязано вызывать ошибку! Чтобы она была сразу показана на дев сервере и тут же исправлена. Чтобы она была записана в лог на продакшене и тут же исправлена.

    Ошибки не надо подавлять. Ошибки не надо прятать. Ошибки надо исправлять.
    Ответ написан
    3 комментария
  • Поможет ли такой php-код защититься от sql-инъекций и XSS, какие в нём есть уязвимости?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Все что делает этот идиотский код - это портит входящие данные.
    Я даже не знаю, стоит ли объяснять. Ведь 100500 раз уже объясняли.

    Но самый, конечно ад - это ответы.

    Когда начинаешь этим щеночкам объяснять, что такое инъекция, и как от нее защититься, все начинают шипеть - "да знаем уже, учоные!". Но когда доходит до дела - такой ад выдают, что становится понятно. Не учёные, а все те же обезьяны, которые вызубрили пару заклинаний, но по традиции не понимают, ни как эти заклинания работают, ни для чего они нужны.

    Тем, кто предлагает отрезать кавычки от quote, надо самим что-нибудь отрезать.

    И это неловкое чувство, когда 2015 году слышишь самую заветную мантру мадагаскарских гамадрилов: "mysql_real_escape_string зашышает от ынъекцый!". Стоит, блин, такой "устаревший", но еще крепкий архангел с пылающим мечом, и разит супостата прямо в темечко - вот так представляет себе принцип работы этой функции средний пользователь похапе.
    Ответ написан
    Комментировать
  • Продолжить изучать Python или начать учить PHP?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    Вопрос не о программировании.
    Жадный и тупой работодатель в айти - явление, увы, не редкое.
    Но, к счастью, не настолько распространенное, как в других областях.
    Так что найти того, которому не важен паспорт - не проблема.

    Но дело не только в работодателях, дело еще и в самих технологиях.
    Учитывай, что:
    1. Спрос на джуниоров в питоне на порядок меньше, чем на пхп
    2. 1C Битрикс - это НЕ пхп. Это адская поделка, не совместимая больше ни с чем. Связываясь с ней, ты должен понимать, что не будешь развиваться в профессиональном плане, даже в РНР - весь полученный опыт ты сможешь использовать только с тем же битриксом.

    Вывод - я бы не стал переходить.
    Ответ написан
    3 комментария
  • Как удалять пользователя из БД без удаления id?

    FanatPHP
    @FanatPHP
    Чебуратор тега РНР
    ТЕБЕ
    ЭТО
    НЕ НУЖНО
    Ответ написан
    Комментировать