Ответы пользователя по тегу PHP
  • Как убрать модальное окно?

    @kfuntov
    <html>
    <head>
    <meta charset="utf-8">
    </head>
    <body>
    <script>
    function short(url) {
      document.getElementById("shortUrl").value = url;
    };
    </script>
    <input type="text" id="shortUrl" />
    <script src="http://shrt.org.ua/--?url=http://vk.com&s=goo.gl&callback=short"></script>
    </body>
    </html>
    Ответ написан
    Комментировать
  • Как оптимизировать php скрипт?

    @kfuntov
    Что значит "правильно оптимизировать"?
    Тут всё написано так, что должно выполнятся быстро.
    Есть ряд вещей не очень направленных на оптимизацию, а именно:
    1. Нет проверки на то, что $userdata пустой (на случай, если у пользователя в куках был user_Id, которого в базе нету, например 9999999).
    2. В таком случае избыточная проверка $userdata['user_id'] !== $_COOKIE['id'] - сначала делается запрос "дай мне пользователя с таким id", а потом проверяется "тот ли id ты мне дал?"
    3. В строке print "Привет, ".$userdata['user_login'].". Всё работает!".$userdata['user_balance'].; - явно лишняя последняя точка.
    4. mysql_* функции считаются плохими для использования. ВСЕ нормальные люди советуют использоватьPDO или MySQLi (в том числе и сайт php.net).

    Про преобразование в html: то, что получается на выходе того скрипта - уже html. без тегов, но в принципе html.
    Если нужно добавить теги - это можно сделать, но тут надо понимать, что надо получить. Если важно просто "чтобы был html", то поздравляю, он есть.
    Ответ написан
    1 комментарий
  • Выгрузка отчётов: как лучше организовать хранение файлов?

    @kfuntov
    Просто чтение csv быстрее выборки из базы.
    + можно гзиповать раз в неделю csv, которые старше месяца. Это сильно сократит размер.
    Ответ написан
    5 комментариев
  • Почему не передается переменная?

    @kfuntov
    После обновления вопроса (добавления globals.php) стало всё ясно.

    Есть такая штука, как область видимости, она нужна, чтобы случайно не перетереть что-то.
    Переменные внутри функции должны быть:
    * Переданы в неё, в качестве аргументов
    * Определнены в ней
    * Объявлены, как global
    Побробнее об области видимости тут www.php.net/manual/ru/language.variables.scope.php
    Только не надо писать слово global, пожалуйста!!!! (Это очень плохая практика)
    Лучше всего модифицировать функцию tryQuery , добавив ей $sql в качестве аргумента
    function tryQuery($sql) {
        var_dump($sql); #Получается NULL.
        $result = $sql->query("SELECT * FROM users");
        var_dump($result); #Получается NULL.
        
        return $result;
    }


    А при вызове её - передавать в неё $sql .

    Старый ответ:
    Лучше ещё хотя бы начало globals и то, как ты это запускаешь.
    (Пока всё выглядит нормально)
    Возможно db.php не инклюдится (относительный адрес, например). Попробуй в db.php добавить
    echo "HERE I AM!";
    И посмотреть, будет ли надпись. Если её нет, проблема с инклюдом.
    Ответ написан
    1 комментарий