Ответы пользователя по тегу PHP
  • Как заставить отдавать pdf файлы с именами в кириллице?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    header('Content-Type: text/html; charset=UTF-8');
                header('Expires: Mon, 30 Jul 1997 05:00:00 GMT');
                header('Cache-Control: no-store, no-cache, must-revalidate');
                header('Cache-Control: post-check=0, pre-check=0', FALSE);
                header('Pragma: no-cache');
                header('Content-transfer-encoding: binary');
                header('Content-Disposition: attachment; filename=мой_русский_пдф.pdf');
                header('Content-Type: application/pdf');
    echo $pdfcontent;

    не оно?
    Ответ написан
    Комментировать
  • Как соединить четыре SQL-запроса в один?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) читать про join
    2) читать про индексы тут, тут и тут.
    3) составить запрос и прогнать его через explain.
    4) Настроить индексы...
    5) Profit
    Ответ написан
    Комментировать
  • Как передать значение многострочной переменной в POST запросе?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $message = urlencode(file_get_contents('test.txt'));
    Ответ написан
    Комментировать
  • Как получить данных на select из база данных через javascript?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Если данных не много и вы заранее знаете какие данные вам нужны для селекта просто получите их в json и используйте когда нужно. Если же данных много и они заранее не известны - запрашивайте их с сервера Аяксом. Можно даже в виде готового хтмл для селекта.
    Ответ написан
    Комментировать
  • Почему не возникает ошибка 404?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    TL;DR
    Есть простой выход: Во первых контроллеры должны расширяться от базового контроллера, во вторых в базовом контроллере напишите __call() метод с выбросом ошибки и выводом 404 вьюшки.

    PS: что в модели делают заголовки и прочий хтмл мусор, включая подгрузку из вью?
    Ответ написан
    1 комментарий
  • Почему не срабатывает функция move_uploaded_file?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) путь куда загружаете существует?
    2) проверьте путь, не факт что вы его правильно указали( у вас путь читается от папки текущего скрипта, лучше использовать $_SERVER['DOCUMENT_ROOT'] и путь от него)
    3) Права на папку куда пишете какие?
    4) Ерор репортинг включите, отладка требует уровня E_ALL
    Ответ написан
  • Как реализовать добавление товара в корзину?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    если нужен совет - храните корзину в сессии/бд, отправляйте id и количество товара аяксом скрипту на сервер, обратно из скрипта выводите json с данными корзины, по которым нужным образом перерисовывайте элемент с корзиной. Тут вообще не вижу как реализовано хранение/получение данных корзины.
    Ответ написан
    5 комментариев
  • Что за ошибка в php скрипте при обработке insert?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    if($result == 'true') {...

    Если так проверять, можно долго ждать пока результатом ответа будет строка 'true'.

    UPD:
    $bd_insert_query = "INSERT INTO " . DB_TABLE . " (mailbox) VALUES ('" . $MailBox . "')";
    var_dump($bd_insert_query); // копируем и вставляем в базу руками, смотрим ответ, возможно понимаем что запрос кривой.
    $result = mysqli_query($bd_link, $bd_insert_query);
    var_dump($result); // смотрим что на самом деле произошло в запросе.

    вообще с таким стилем программного кода var_dump должна стать вашей любимой функцией.

    Из визуальной части - сходу не вижу где определена DB_TABLE, возможно она вообще вне видимости скрипта.
    ну и по мелочи:
    имена полей таблиц обычно заключают в апострофы: (`mailbox`);
    посмотрите как работать с подготовленными запросами, это сильно лучше чем вставлять сырые данные в запрос.
    $bd_insert_query = "INSERT INTO " . DB_TABLE . " ('ID', 'mailbox') VALUES ('LAST_INSERT_ID(), " . $MailBox . "')";
    вообще треш и угар, так делать не нужно. Тем более если поле id автоинкрементное. Тем более с ошибкой в полях ввода.
    Ответ написан
    4 комментария
  • Моментальная переадресация?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Обычно это делается на стороне клиента, на яваскрипте.
    Ответ написан
    Комментировать
  • Как проверить значение поля 1 table в 2 table?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Может так вам нужно?
    SELECT f.* , sl.id as subscribe
    FROM `films` f
    LEFT JOIN `see_later` sl 
    ON sl.film_id = f.id
    WHERE sl.user_id = :user_id //подставить ид пользователя
    ORDER BY `year` DESC LIMIT 10


    PS: в помощь по запросам
    Ответ написан
    3 комментария
  • Что я делаю не правильно в GET запросе?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    если Это принципиально, то читайте про History.pushstate()
    Ответ написан
    Комментировать
  • Как вывести лог работы скрипта php из консоли ubuntu на сайт?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Комментировать
  • Как транслитерировать символы в JavaScript или PHP?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    во первых есть нативные средства в пхп, ну и просто сделать пару массивов для конкретно вашего словарного соответствия можно. Что-то типа вот такого:
    function translit($string){
            if(extension_loaded('iconv')){
                return iconv('UTF-8', 'ASCII//TRANSLIT', $string);
            }
            else{
                $cyr = array(
                    'а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п',
                    'р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я',
                    'А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П',
                    'Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я'
                );
                $lat = array(
                    'a','b','v','g','d','e','io','zh','z','i','y','k','l','m','n','o','p',
                    'r','s','t','u','f','h','ts','ch','sh','sht','a','i','y','e','yu','ya',
                    'A','B','V','G','D','E','Io','Zh','Z','I','Y','K','L','M','N','O','P',
                    'R','S','T','U','F','H','Ts','Ch','Sh','Sht','A','I','Y','e','Yu','Ya'
                );
                return mb_str_replace($cyr, $lat, $string);
            }
        }
    Ответ написан
    Комментировать
  • Как массово редактировать товары из листа с помощью чекбоксов?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    чет не понимаю, как вы собираетесь редактировать МНОГО товаров одновременно? Не проще в список выводить уже в виде заполняемых полей и сделать кнопочку сохранить напротив?
    Ответ написан
    Комментировать
  • Почему не сохраняется изображение?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) Как уже выше заметили - первое что нужно проверить - права на запись
    2) Так же убедитесь что папка вообще существует(скорее даже это нужно в первую очередь проверить)
    3) Убедитесь что путь, программно формируемый, указывает на нужную папку,
    4) Указывайте ПОЛНЫЙ путь, от корня файловой системы сервера, что то типа
    $fullPath = $_SERVER['DOCUMENT_ROOT'].'path/to/file.png';
    Ответ написан
    Комментировать
  • PHP. Как реализовать общий счетчик между несколькими скриптами?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Пробовал поддерживать значение в файле - в какие то моменты значение просто не считывается и все сбивается (Не получилось понять причину)
    скорее всего банальная блокировка открытого файла.
    БД (MySql) боюсь использовать, тк обращения будут очень частые и частота растет.
    ну, не знаю, запрос индексированного поля из бд происходит примерно за 0,0013 секунд на моей не самой мощной машине, + неблокирующие апдейты. На продакшене есть машины обрабатывающие до ~100 запросов в сек. Другое дело что это стрельба по воробьям из пушки.
    Как лучший вариант имхо - мемкеш, или редис.
    Ответ написан
    1 комментарий
  • Как прочитать массив в js полученный из php в консоле пишет array?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    A что вы хотели получить? Вы делаете вывод массива через echo, который вообще то для вывода строковых переменных. И он вам тонко намекает что вообще то он не строка, а массив(а нормальные разработчики с включенным выводом ошибок уровня E_ALL еще и нормальный варнинг с пояснениями видят).

    Добавьте в параметры запроса аякса dataType: "json",, а при выводе из php echo json_encode($vibranye);

    PS: за $vibranye ajaxik.php widtherr parametr_widther для вас уже разогревают отдельный котел в аду.
    Ответ написан
    Комментировать
  • Как обработать ajax запрос через php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    я немного отклонюсь от вопроса, отвечу в конце всех матюков, ок?
    1) если вы видите свое будущее в программировании - zakaz.php; get_base_komment - комрады вам не рады, учите хотя бы базовый уровень общепринятого в программировании языка - английского. Не знаете как правильно - гугл транслейт в помощь, и слово новое узнаете и не будете вызывать кровотечение из глаз у коллег.
    2) Если задача только поместить текст из одного элемента в другой внутри одного хтмл документа - аякс не нужен, достаточно клиентсайд скрипта.
    3) Если в задаче у вас стоит отправить какие-то данные на сервер и вернуть нужный результат (а на сервере допустим записать эти данные в базу) то да - нужен аякс, в вашем случае в скрипте php должно быть что-то типа
    echo "заказ".$_POST['n'];

    UPD: в ходе допроса выяснилось что нужно топикастеру... правда код файла заказ.пэхапэ он не привел... по этому объясню "на пальцах": вытащить данные из базы запросом(как вы работаете с базой это уже другой вопрос, тут вы сами должны написать запрос по получаемому id), все данные полученные из запроса объединить в строку, и дальше достаточно сделать echo $mergedDataFromDB;, то есть просто ее вывести. Со стороны аякс запроса данные выведенные в стандартный оутпут будут подхвачены в виде переменной data, прописанной в колбэк функции аякс запроса.
    Ответ написан
    6 комментариев
  • Стоит ли удалять переменные?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    выполнять unset имеет смысл только в том случае, если переменная содержит большой объем данных и после ее использования есть еще большой объем кода. Тогда в целом это может быть оправдано, в частности определение новых переменных будет происходить из освобожденной области памяти, а не занимать новые блоки, в противном случае это лишний оверхед на создание / удаление переменной.
    Ответ написан
    Комментировать