Ответы пользователя по тегу PHP
  • Не могу отправить страницу?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Для начала, уберите кучу тегов не относящихся к вопросу.

    header("Location: " . $_SERVER['DOCUMENT_ROOT'] . "/reg.php"); 
    // кавычки при конкатенации с переменными не нужны
    Ответ написан
    3 комментария
  • Оптимальна ли реализация чата?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Если это не продакшн, а скажем, учебно-развлекательный проект, то пойдет. Можно увеличить интервал до 5 сек, а в базе выбирать по времени больше времени последнего полученного сообщения, это сократит нагрузку. Время надо отсылать при запросе к серверу. Все прочитанные получателем (т.е. отосланные в ответ на аякс запрос) записи чата помечаются в отдельном поле в таблице(например `readed` = 1), и в дальнейшем не выбираются. В идеале переписать на сокеты, ибо аякс интервалы не лучший способ реализации.
    Ответ написан
    Комментировать
  • Как реализовать отправку почты при помощи AJAX?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    1) data['message'] это что за нотация для жс? Может data.message?
    2) что пишет консоль браузера? Кучу ошибок?
    3) Для начала смотрите что в нетворк вам вернул пхп скрипт, ну и что отправилось тоже надо бы посмотреть
    4)
    var name = $('#name').val();
        var email = $('#email').val();
        var subject = $('#subject').val();
        var msg = $('#msg').val();
        var postData = 'name='+name+'&email='+email+'&subject=' +subject+'&msg=' +msg;

    можно заменить на var postData = $('.form-horizontal').serialize();

    UPD: Автор повесил на кнопку субмит инлайновый вызов функции, который я проморгал. Так как запрос аякса вызывается параллельно с субмитом формы(по клику на кнопку типа субмит), то ясное дело яваскрипт отработать не успевал, а форма субмитилась на свой же урл. Такие вот косяки.
    Для тех кто наткнется в будущем на подобное:
    1) НЕ ВЕШАТЬ ИНЛАЙН ФУНКЦИИ НА ЭЛЕМЕНТЫ, ИСПОЛЬЗУЙТЕ МЕХАНИЗМ ЛИСТЕНЕРОВ.
    2) Если страница перегружается - значит форма сработала явно, без аяксовой отправки(это можно было понять еще при упоминании того, что данные из нетворк отладчика "пропадают при отсылке аякса", но я опять же протупил)
    3) не вешать события на клик, если это обработчик формы, это плохо во всех смыслах, мешает нормальной валидации, мешает предотвращению оправки формы через код, и вообще - это плохо.
    Ответ написан
    5 комментариев
  • Как подставить значение из ТЕЧЕ в sql php?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Юноша, этому коду (ну или источнику кода) лет больше чем вам.
    1) где вы это г откопали?
    2) Зачем вы занимаетесь некрофилиейфигней по древним манускриптам? Что хорошо для магии плохо для программирования.
    Ответ написан
    2 комментария
  • В чем может быть ошибка при загрузке изображения на сервер?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    //loadFile.exists() - true
    это вы проверили и выводит true, или так должно быть, но значение вы не проверяли?
    move_uploaded_file возвращает булево свойство, его надо обрабатывать.
    Я бы еще сделал var_dump($_FILE) первой строчкой, это дает понимание где отвалилось и пришло ли что-либо вообще на сервер, и если пришло то в каком виде.
    Ответ написан
  • Как предотвратить повторное сохранение изображений на сервере?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    перенаправлять заголовком обратно после добавления данных. Так у вас не будет повторно отправляться POST запрос.
    Ответ написан
    Комментировать
  • Как проверить если форма отправляется и на какой адрес?

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

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

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    Есть модель в которой методы форматируют контент для выдачи в view.
    это не верно концептуально, модели не работают с форматированием. Выносите форматирование в хелпер, или передавайте данные вьюшкам, и там логика построения уже пусть работает на основании данных из моделей.
    Ответ написан
    Комментировать
  • Можно ли как то ограничить количество ajax запросов или проверять состояние?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    то есть тыкать 14к раз в чекбокс вы считаете нормально для этой задачи? А как бэ, просто запустить скрипт в консоли который все это отконвертирует по порядку религия не позволяет?
    Ну или как вообще лучше поступить что бы не завис сервер, вдруг там гигабайтная картинка попадется...?
    проверяй те картинки на размер перед конвертацией, очень большие пропускайте, пишите в базу что пропущены(или в лог, как удобнее). Потом их отдельно обработать руками там, или скриптом под контролем. 14к - пусть 1 секунду будет обрабатываться 1 картинка, ~4 часа работы скрипта на дохлой машине, подозреваю на нормальном сервере займет от силы час.
    PS: представляю сколько времени тыкать чекбоксы надо будет ))
    Ответ написан
  • Генератор уникальных изображений?

    ThunderCat
    @ThunderCat Куратор тега PHP
    {PHP, MySql, HTML, JS, CSS} developer
    gd, imagemagick, да даже на канвасе с жс можно решения найти.
    Ответ написан
    Комментировать
  • Как победить ошибку Unknown SSL protocol error in connection to?

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

    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
    Ответ написан
    Комментировать