Задать вопрос
Ответы пользователя по тегу PHP
  • Почему при обновление страницы повторяется запись в базу данных?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    $id = $_COOKIE['user_id'];
    ...
    if ($id) {
      mysql_query("UPDATE `user` SET `bal` = `bal` + $bonus WHERE `part` = $id");
    }

    ничего не кажется странным? )
    Ответ написан
  • Как скрывать блок после удаления без перезагрузки страницы?

    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
    {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
    {PHP, MySql, HTML, JS, CSS} developer
    tinyMCE, CKeditor, оба требуют отдельного файл менеджера, но умеют его использовать через плагин. KCfinder для CKeditor вроде бесплатный, есть какой-то за деньги, более навороченный. Можно и вот такой использовать, весьма удобный.
    Ответ написан
    Комментировать
  • Должен ли контроллер знать о существовании других моделей?

    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 раз, работает для любого типа объекта.
    Ответ написан
  • Как быстро проверить сериализованные данные?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    if(unserialize($string)===false) echo 'облом';
    правда будет еще нотис сформирован, но тут уж се ля ви.
    UPD: косяк может произойти при передаче false, вернется false, хотя это верное значение сериализации.
    Ответ написан
    Комментировать
  • 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 Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    На хостинге выключен вывод ошибок в браузер, соответственно ошибки есть, но в браузер они не выводятся.
    1) логи.
    2) на этапе настройки ерор репортинг включить (E_ALL), вывод ошибок включить. Можно просто в индексе первыми строчками прописать
    ini_set('error_reporting', E_ALL);
    ini_set('display_errors', 1);

    3) На локальном сервере тоже не мешает включить отображение варнингов и ошибок, если не включено. Это помогает избежать многих проблем при переносе на хостинг.
    Ответ написан
    1 комментарий
  • Как подключть css к подключаемому файлу php?

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    очевидно что файл не возвращает ничего, значит косяк скорее всего в запросе, смотрите что передается в запрос(тупо дебагом выведите), после этого вбейте запрос в sql руками, например в мускульфронте, или в консоли, и посмотрите что вернет селект. Скорее всего или данные кривые приходят, или проблема с запросом.
    Ответ написан
  • Передать значение из js/html в php?

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Если я все верно понял, в ларавел да и вообще, это называется Роутинг.

    Эта, тут кароче такое дело... Роутер для нормального мвц(и для ооп в целом) выполняет 1 задачу(как и положено по принципу единой ответственности), он определяет что пришло в урл и какой контроллер и экшн подходит под данный урл. Все. Для подключения всяких файлов и создания конторллеров есть диспетчер, которому передается объект роутера. Типа так: диспетчер пропарсил строку http://nomer1.com/user/vasilii_pupkin, в свои свойства вписал: протокол = хттп, сайтнейм = nomer1.com, параметры: user, vasilii_pupkin. Таким параметрам по правилам роутера(смотрите "создание правил в роутере", читайте регулярные выражения) соответствует контроллер userController и экшн showAction с параметром допускающим значение содержащее буквы латиницы+символ подчеркивания. Все, эту инфу можно из него получить, передаем диспетчеру и там уже мутим магию - контроллер, экшн, все дела. А это жесть и адский Ад.
    Ответ написан
    Комментировать
  • Как записать массив через PDO?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    не ':name' вроде должно быть, а 'name'...
    Ответ написан
  • Где ошибка ajax?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Где ошибка ajax?
    Ошибка практически везде. Налицо попытка адаптировать форму которая раньше работала методом пост с перезагрузкой на аякс. Ну ладно, ничего криминального, но... понеслись по граблям!
    1) аякс запрос, который выполняется по загрузке страницы, причем в произвольном месте, то есть в форме еще ничего нет. Ладно, это еще пол беды...
    $('#pass_edit_form').on('submit',function(e){
       e.preventDefault();
       $.ajax({
          type: "POST",
          url: "_settings.php", // оно реально в этой же папке лежит?
          dataType: 'text',
          data: $(this).serialize(),
          success: function(data) {
             console.log('Received: '+data); // для начала можно остановиться тут и посмотреть что падает в консоль.
             if(data.length > 0) {
                 $('#result_pass_edit').text(data);  
              } 
              else {
                  $('#result_pass_edit').text(data);
              }
          }
         });
          }			 
       });	 
    });

    Так это будет работать по нажатию кнопки.
    Код пхп даже не буду комментировать, хватит того что там есть строка header("Location: logout.php");
    Ответ написан
    1 комментарий
  • Как оптимизировать поиск Mysql?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Есть ли возможность оптимизировать запрос, т.е. применить какой-то оператор или чего?

    А есть проблема производительности? сколько выполняется запрос, какой объем базы?
    Ответ написан
  • Как остановить выполнение php скрипта с помощью js?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    ...подтягиваю данные из бд с помощью xmlhttprequest. Бывает такое, что ответ от сервера приходится ждать более минуты,..
    на вашем месте при таком раскладе я бы в первую очередь разобрался с работой бд, которая отдает данные больше минуты. Это номер раз.
    Второе - если там реально дохренища данных - бить на куски и делать несколько запросов, по окончании загрузки 1 куска стартовать второй и тд, так можно будет прервать работу на клиенте, а не на сервере, что гораздо проще как вы понимаете.
    Вариант 3, при нагруженных вычислениях - запускать на сервере скрипт в отдельном потоке, результат писать в какое-либо хранилище (можно прям обратно в бд, но думаю редис для этого более подходящий вариант), запрашивать результат лонг поллингом или по таймеру через каждые н секунд.
    Ответ написан
  • Как добавить архив zip на сервер?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    проверять или на сервер доходят картинки - var_dump($_FILES);
    если зипы не приходят - крутить настройки mime типов. Так же проверить что в поле куда вы добавляете файлы не стоит ограничение на тип файла в самом инпуте.
    Ответ написан
    Комментировать