• Как перебрать полученные данные используя VK API без применения DOM?

    @IceJOKER
    Web/Android developer
    Не с кем посовещаться ? А как же Гугл?
    e2d238fb83.jpg

    myrusakov.ru/php-api-vk.html

    p.s. рекомендую пользоваться curl-ом, а не file_get_contents(); уж точно не header(...);
    Ответ написан
    Комментировать
  • Как обработать ошибку в PDO?

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

    Каким-то особым образом обрабатывать ошибки ПДО не нужно - в них нет ничего особенного. поэтому ошибки работы с БД должны обрабатываться точно так же, как и любые другие ошибки в скрипте, единым обработчиком.

    Чтобы известить пользователя об успешности запроса, никаких специальных действий предпринимать не нужно.
    Просто пишешь код извещения под кодом вставки.
    Если произошла ошибка, то будет показана страница с ошибкой.
    А если все нормально, то выполнится код извещения. Я бы записывал сообщение в сессию, делал редирект ,И показывал из сессии flash message.

    И, как правильно написал Defman21 - никаких exec() - только prepare/execute.
    Если это кажется длинным, то взять удобный враппер, код станет значительно короче и читабельнее:
    $sql = "INSERT INTO comment (news_id, name, message, date, ip) VALUES (?,?,?,?,?)";
    DB::run($sql, [$news_id, $name, $message, $date, $ip]);
    Ответ написан
    2 комментария
  • Как сделать простой выпадающий блок с формой поиска?

    Вот вам пример:
    HTML
    <button id="open">Открыть</button>
    <div id="form">
      <form action="#" method="post">
        <input type="text" value="" placeholder="найти" />
      </form>
    </div>

    CSS:
    #form {
      padding: 20px;
      background-color: #000;
      display: none;
    }

    JS:
    $(document).ready(function () {
      var searchBlock = $('#form');
      $(document).on('click', '#open', function () {
        searchBlock.slideToggle();
        return false;
      });
    });

    А вообще заглянули бы в код страницы, там все написано.
    Ответ написан
    Комментировать
  • Как уменьшить функцию?

    bobrovskyserg
    @bobrovskyserg
    WTF return pass?

    А так-то - почему нет?
    def f(**kwargs):
        print(kwargs)
        kwargs['a'] = 2
        kwargs['b'] = 3
        print(kwargs)
    
    f(a=1)
    Ответ написан
    1 комментарий
  • Какая разница между @include и include?

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

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

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

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

    Ошибки не надо подавлять. Ошибки не надо прятать. Ошибки надо исправлять.
    Ответ написан
    3 комментария
  • Как красиво вывести JSON?

    viktorvsk
    @viktorvsk
    $json_string = json_encode($data, JSON_PRETTY_PRINT);

    Источник
    Мануал
    Ответ написан
    Комментировать
  • Как передать переменную JavaScript в РНР без ошибок?

    fsdsdfsfdsfsdfsdfsdfsdfsd
    @fsdsdfsfdsfsdfsdfsdfsdfsd
    Unknown
    $(document).ready(function() {
     $("#form").submit(function(event) {
      event.preventDefault();
      var mes = $("#message").val();
      $.post("mail.php", {mes: mes}, function(result) {
       $("#aj").text(mes);
      });
      return false;
     });
    });
    Ответ написан
    6 комментариев
  • Как передать переменную JavaScript в РНР без ошибок?

    mlnkv
    @mlnkv
    JavaScript Developer
    $(function() {
      $("#form").on("submit", function(event) {
        event.preventDefault();    
        var message = $("#message").val();
    
        $.post("mail.php", {message: message}, function(response) {
          $("#aj").text(response);
        });
    
        return false;
      });
    });


    <?php
    
    $message = $_POST['message'];
    
    if (mail("мой_имэил", "Тема", "Сообщение: " . $message)) {
      return "Сообщение отправлено";
    } else {  
      return "Что ещё за?";
    }
    
    ?>
    Ответ написан
    2 комментария